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
action_cron()
Action qui déclenche une tache de fond
action_cron() : mixed
Tags
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
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 uncharger_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
- si
- $time : int = 0
-
Facultatif,
0
par défaut : indique la date sous forme de timestamp à laquelle la tâche doit être programmée. Si0
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
booljob_queue_link()
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
- si
Tags
Return values
int|null —0
si un job est à traiternull
si la queue n'est pas encore initialisée