-
- Téléchargements
Intégration d'une gestion de files de taches (initialement le plugin...
Intégration d'une gestion de files de taches (initialement le plugin job_queue) en remplacement du système de cron periodique La declaration de taches periodiques reste identique a auparavant (pipeline taches_generales_cron) La balise #SPIP_CRON disparait, remplacee par un declenchement en fin de hit uniquement quand une tache est en attente. Pour le declenchement, on utilise preferentiellement un socket, et a defaut une image background comme avant. Lors d'un appel, le sequenceur execute autant de taches en attente que possible, dans la limite d'un temps donné. Des appels concurents peuvent se jouer, mais chaque tache est executee une unique fois par une seule instance. L'unicité de l'execution est garantie par un sql_delete. SI jamais le nombre de taches en attente depasse un seuil (10000 par defaut) la file est purgee par un appel en fin de hit, synchrone. Une page d'aministration est accesible aux administrateurs depuis le menu maintenance. L'API est /** * Ajout d'une tache dans la file d'attente * * @param $function * The function name to call. * @param $description * A human-readable description of the queued job. * @param $arguments * Optional array of arguments to pass to the function. * @param $file * Optional file path which needs to be included for $fucntion. * @param $no_duplicate * If TRUE, do not add the job to the queue if one with the same function and * arguments already exists. * @param $time * time for starting the job. If 0, job will start as soon as possible * @param $priority * -10 (low priority) to +10 (high priority), 0 is the default * @return int * id of job */ function job_queue_add($function, $description, $arguments = array(), $file = '', $no_duplicate = FALSE, $time=0, $priority=0) /** * Supprimer une tache de la file d'attente * @param int $id_job * id of jonb to delete * @return bool */ function job_queue_remove($id_job) /** * Associer une tache a un/des objets de SPIP * @param int $id_job * id of job to link * @param array $objets * can be a simple array('objet'=>'article','id_objet'=>23) * or an array of simple array to link multiples objet in one time */ function job_queue_link($id_job,$objets)
parent
08f1d5a9
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Affichage de
- .gitattributes 10 ajouts, 0 suppression.gitattributes
- ecrire/action/annuler_job.php 30 ajouts, 0 suppressionecrire/action/annuler_job.php
- ecrire/action/forcer_job.php 33 ajouts, 0 suppressionecrire/action/forcer_job.php
- ecrire/action/purger_queue.php 30 ajouts, 0 suppressionecrire/action/purger_queue.php
- ecrire/action/super_cron.php 50 ajouts, 0 suppressionecrire/action/super_cron.php
- ecrire/base/auxiliaires.php 14 ajouts, 1 suppressionecrire/base/auxiliaires.php
- ecrire/base/serial.php 20 ajouts, 0 suppressionecrire/base/serial.php
- ecrire/core.xml 7 ajouts, 2 suppressionsecrire/core.xml
- ecrire/inc/autoriser.php 9 ajouts, 1 suppressionecrire/inc/autoriser.php
- ecrire/inc/genie.php 70 ajouts, 39 suppressionsecrire/inc/genie.php
- ecrire/inc/pipelines.php 28 ajouts, 1 suppressionecrire/inc/pipelines.php
- ecrire/inc/pipelines_ecrire.php 20 ajouts, 0 suppressionecrire/inc/pipelines_ecrire.php
- ecrire/inc/presentation_mini.php 3 ajouts, 4 suppressionsecrire/inc/presentation_mini.php
- ecrire/inc/queue.php 520 ajouts, 0 suppressionecrire/inc/queue.php
- ecrire/inc/utils.php 119 ajouts, 39 suppressionsecrire/inc/utils.php
- ecrire/inc_version.php 1 ajout, 1 suppressionecrire/inc_version.php
- ecrire/lang/ecrire_fr.php 8 ajouts, 0 suppressionecrire/lang/ecrire_fr.php
- ecrire/maj/svn10000.php 4 ajouts, 0 suppressionecrire/maj/svn10000.php
- ecrire/public.php 2 ajouts, 9 suppressionsecrire/public.php
- ecrire/public/balises.php 0 ajout, 14 suppressionsecrire/public/balises.php
Chargement en cours
Veuillez vous inscrire ou vous se connecter pour commenter