Ejemplo n.º 1
0
/**
 * 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));
    }
}
Ejemplo n.º 2
0
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);
    }
}
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
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;
}