Come ottengo il timestamp (data) dall'ultima esecuzione cron?


11

Sto costruendo un modulo ma sono bloccato .. Ho bisogno del timestamp del cron precedente mentre eseguo un lavoro hook_cron in modo da poter verificare quali nodi sono nuovi e inviarli via e-mail.

Quindi ho bisogno del timestamp data / ora dell'ultima esecuzione cron ma come ci arrivo?

Risposte:


19

Un timestamp UNIX dell'ultima esecuzione cron può essere recuperato con:

variable_get('cron_last');

Se necessario, puoi facilmente manipolare un timestamp UNIX con la funzione di data di PHP .


3

La funzione hook_requirement () può aiutarti.

Dai un'occhiata a: http://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_requirements/7

Nel file del tuo modulo scrivi la funzione hook_requirement ().

function hook_requirements($phase) {
if ($phase == 'runtime') {
    $cron_last = variable_get('cron_last');

    if (is_numeric($cron_last)) {
      $requirements['cron']['value'] = $t('Last run !time ago', array('!time' => format_interval(REQUEST_TIME - $cron_last)));
    }
    else {
      $requirements['cron'] = array(
        'description' => $t('Cron has not run. It appears cron jobs have not been setup on your system. Check the help pages for <a href="@url">configuring cron jobs</a>.', array('@url' => 'http://drupal.org/cron')), 
        'severity' => REQUIREMENT_ERROR, 
        'value' => $t('Never run'),
      );
    }

    $requirements['cron']['description'] .= ' ' . $t('You can <a href="@cron">run cron manually</a>.', array('@cron' => url('admin/reports/status/run-cron')));

    $requirements['cron']['title'] = $t('Cron maintenance tasks');
  }
}

utile ma mi piace la risposta di Bart perché è più semplice +1
VOLO

hook_requirements () viene invocato solo per la fase "runtime" dalla richiamata della pagina del rapporto sullo stato (cfr. api.drupal.org/api/drupal/modules%21system%21system.api.php/… ). Non vedo come ciò possa aiutare a determinare quali nodi sono nuovi.
mpdonadio
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.