Documentation du code de SPIP et de ses plugins

SPIP

jobs.php

Table of Contents

Constants

_DIRECT_CRON_FORCE  = true
_JQ_NEXT_JOB_TIME_FILENAME  = _DIR_TMP . 'job_queue_next.txt'

Functions

action_cron()  : mixed
Action qui déclenche une tache de fond
cron()  : bool
Exécution des tâches de fond
job_queue_add()  : int
Ajout d'une tache dans la file d'attente
job_queue_remove()  : bool
Supprimer une tache de la file d'attente
job_queue_link()  : mixed
Associer une tache a un/des objets de SPIP
queue_sleep_time_to_next_job()  : int|null
Renvoyer le temps de repos restant jusqu'au prochain job

Constants

_DIRECT_CRON_FORCE

public mixed _DIRECT_CRON_FORCE = true

_JQ_NEXT_JOB_TIME_FILENAME

public mixed _JQ_NEXT_JOB_TIME_FILENAME = _DIR_TMP . 'job_queue_next.txt'

Functions

cron()

Exécution des tâches de fond

cron([array<string|int, mixed> $taches = [] ][, array<string|int, mixed> $taches_old = [] ]) : bool
Parameters
$taches : array<string|int, mixed> = []

Tâches forcées

$taches_old : array<string|int, mixed> = []

Tâches forcées, pour compat avec ancienne syntaxe

Tags
uses
inc_genie_dist()
used-by
action_cron()
Return values
bool

True si la tache a pu être effectuée

job_queue_add()

Ajout d'une tache dans la file d'attente

job_queue_add(string $function, string $description[, array<string|int, mixed> $arguments = [] ][, string $file = '' ][, bool $no_duplicate = false ][, int $time = 0 ][, int $priority = 0 ]) : int
Parameters
$function : string

Le nom de la fonction PHP qui doit être appelée.

$description : string

Une description humainement compréhensible de ce que fait la tâche (essentiellement pour l’affichage dans la page de suivi de l’espace privé)

$arguments : array<string|int, mixed> = []

Facultatif, vide par défaut : les arguments qui seront passés à la fonction, sous forme de tableau PHP

$file : string = ''

Facultatif, vide par défaut : nom du fichier à inclure, via include_spip($file) exemple : 'inc/mail' : il ne faut pas indiquer .php Si le nom finit par un '/' alors on considère que c’est un répertoire et SPIP fera un charger_fonction($function, $file)

$no_duplicate : bool = false

Facultatif, false par défaut

  • si true la tâche ne sera pas ajoutée si elle existe déjà en file d’attente avec la même fonction et les mêmes arguments.
  • si function_only la tâche ne sera pas ajoutée si elle existe déjà en file d’attente avec la même fonction indépendamment de ses arguments
$time : int = 0

Facultatif, 0 par défaut : indique la date sous forme de timestamp à laquelle la tâche doit être programmée. Si 0 ou une date passée, la tâche sera exécutée aussitôt que possible (en général en fin hit, en asynchrone).

$priority : int = 0

Facultatif, 0 par défaut : indique un niveau de priorité entre -10 et +10. Les tâches sont exécutées par ordre de priorité décroissante, une fois leur date d’exécution passée. La priorité est surtout utilisée quand une tâche cron indique qu’elle n’a pas fini et doit être relancée : dans ce cas SPIP réduit sa priorité pour être sûr que celle tâche ne monopolise pas la file d’attente.

Return values
int

Le numéro de travail ajouté ou 0 si aucun travail n’a été ajouté.

job_queue_remove()

Supprimer une tache de la file d'attente

job_queue_remove(int $id_job) : bool
Parameters
$id_job : int

id of jonb to delete

Return values
bool

Associer une tache a un/des objets de SPIP

job_queue_link(int $id_job, array<string|int, mixed> $objets) : mixed
Parameters
$id_job : int

id of job to link

$objets : array<string|int, mixed>

can be a simple array('objet'=>'article', 'id_objet'=>23) or an array of simple array to link multiples objet in one time

queue_sleep_time_to_next_job()

Renvoyer le temps de repos restant jusqu'au prochain job

queue_sleep_time_to_next_job([int|bool $force = null ]) : int|null
Parameters
$force : int|bool = null

Utilisée par queue_set_next_job_time() pour mettre à jour la valeur :

  • si true, force la relecture depuis le fichier
  • si int, affecte la static directement avec la valeur
Tags
staticvar

int $queue_next_job_time

see
queue_set_next_job_time()
used-by
f_queue()
used-by
queue_schedule()
used-by
queue_affichage_cron()
Return values
int|null
  • 0 si un job est à traiter
  • null si la queue n'est pas encore initialisée

        
On this page

Search results