/** * Executer un travaille immediatement * @return void */ function action_forcer_job_dist() { $securiser_action = charger_fonction('securiser_action', 'inc'); $id_job = $securiser_action(); if ($id_job = intval($id_job) and autoriser('forcer', 'job', $id_job)) { include_spip('inc/queue'); include_spip('inc/genie'); queue_schedule(array($id_job)); } }
function action_syndiquer_site_dist($id_syndic = null) { if (is_null($id_syndic)) { $securiser_action = charger_fonction('securiser_action', 'inc'); $id_syndic = $securiser_action(); } $id_job = job_queue_add('syndic_a_jour', 'syndic_a_jour', array($id_syndic), 'genie/syndic', true); // l'executer immediatement si possible if ($id_job) { include_spip('inc/queue'); queue_schedule(array($id_job)); } else { spip_log("Erreur insertion syndic_a_jour({$id_syndic}) dans la file des travaux", _LOG_ERREUR); } }
function inc_genie_dist($taches = array()) { include_spip('inc/queue'); if (_request('exec') == 'job_queue') { return; } $force_jobs = array(); // l'ancienne facon de lancer une tache cron immediatement // etait de la passer en parametre a ing_genie_dist // on reroute en ajoutant simplement le job a la queue, ASAP foreach ($taches as $function => $period) { $force_jobs[] = queue_add_job($function, _T('tache_cron_asap', array('function' => $function)), array(time() - abs($period)), "genie/"); } // et on passe la main a la gestion de la queue ! // en forcant eventuellement les jobs ajoute a l'instant queue_schedule(count($force_jobs) ? $force_jobs : null); }
function formulaires_configurer_annonces_traiter_dist() { $res = array('editable' => true); foreach (array("suivi_edito", "quoi_de_neuf") as $m) { if (!is_null($v = _request($m))) { ecrire_meta($m, $v == 'oui' ? 'oui' : 'non'); } } foreach (array("adresse_suivi", "adresse_suivi_inscription", "adresse_neuf", "jours_neuf", "email_envoi") as $m) { if (!is_null($v = _request($m))) { ecrire_meta($m, $v); } } $res['message_ok'] = _T('config_info_enregistree'); // provoquer l'envoi des nouveautes en supprimant le fichier lock if (_request('envoi_now')) { effacer_meta('dernier_envoi_neuf'); $id_job = job_queue_add("mail", "Test Envoi des nouveautes", array(0), "genie/"); include_spip('inc/queue'); queue_schedule(array($id_job)); $res['message_ok'] .= "<br />" . _T("info_liste_nouveautes_envoyee"); } return $res; }