genie.php
SPIP, Système de publication pour l'internet
Copyright © avec tendresse depuis 2001 Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
Ce programme est un logiciel libre distribué sous licence GNU/GPL.
Table of Contents
Functions
- inc_genie_dist() : mixed
- Prévoit l'exécution de la tâche cron la plus urgente
- taches_generales() : mixed
- genie_queue_watch_dist() : int
- Une tâche périodique pour surveiller les tâches crons et les relancer si besoin
- queue_genie_replan_job() : mixed
- Replanifier une tache periodique
Functions
inc_genie_dist()
Prévoit l'exécution de la tâche cron la plus urgente
inc_genie_dist([array<string|int, mixed> $taches = [] ]) : mixed
Les tâches sont dans un tableau 'nom de la tâche' => périodicité
Cette fonction exécute la tache la plus urgente, c'est à dire celle dont la date de dernière exécution + la périodicité est minimale.
La date de la prochaîne exécution de chaque tâche est indiquée dans la
table SQL spip_jobs
La fonction exécutant la tâche est (généralement) un homonyme de préfixe "genie_". Le fichier homonyme du repertoire "genie/" est automatiquement lu et il est supposé définir cette fonction.
Parameters
- $taches : array<string|int, mixed> = []
-
Tâches dont on force maintenant l'exécution le plus tôt possible. Sinon, prendra la tâche la plus prioritaire.
Tags
taches_generales()
taches_generales([mixed $taches_generales = [] ]) : mixed
Parameters
- $taches_generales : mixed = []
genie_queue_watch_dist()
Une tâche périodique pour surveiller les tâches crons et les relancer si besoin
genie_queue_watch_dist() : int
Quand ce cron s'execute, il n'est plus dans la queue, donc il se replanifie lui même, avec last=time() avec une dose d'aleatoire pour ne pas planifier toutes les taches au meme moment
Tags
Return values
intqueue_genie_replan_job()
Replanifier une tache periodique
queue_genie_replan_job(string $function, int $period[, int $last = 0 ][, int $time = null ][, int $priority = 0 ]) : mixed
Parameters
- $function : string
-
nom de la fonction a appeler
- $period : int
-
periodicite en secondes
- $last : int = 0
-
date du dernier appel (timestamp)
- $time : int = null
-
date de replanification si null calculee automaitquement a partir de $last et $period si 0 = asap mais on n'insere pas le job si deja en cours d'execution
- $priority : int = 0
-
priorite