Wie erhalte ich den (Datums-) Zeitstempel seit dem letzten Cron-Lauf?

11

Ich baue ein Modul, stecke aber fest. Ich benötige den Zeitstempel des vorherigen Cron, wenn ich einen hook_cron-Job ausführe, damit ich überprüfen kann, welche Knoten neu sind, und diese per E-Mail versenden kann.

Ich brauche also den Datums- / Zeitstempel vom letzten Cron-Lauf, aber wie komme ich dorthin?

FLIEGEN
quelle

Antworten:

19

Ein UNIX-Zeitstempel des letzten Cron-Laufs kann abgerufen werden mit:

variable_get('cron_last');

Bei Bedarf können Sie einen UNIX-Zeitstempel einfach mit der Datumsfunktion von PHP bearbeiten .

Bart
quelle
3

Die Funktion hook_requirement () kann Ihnen helfen.

Überprüfen Sie dies: http://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_requirements/7

Schreiben Sie in Ihre Moduldatei die Funktion 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');
  }
}
mohit_rocks
quelle
hilfreich, aber ich mag Barts Antwort besser, weil es einfacher ist +1
FLY
hook_requirements () wird nur für die "Laufzeit" -Phase vom Rückruf der Statusberichtsseite aufgerufen (vgl. api.drupal.org/api/drupal/modules%21system%21system.api.php/… ). Ich sehe nicht ein, wie dies helfen würde, festzustellen, welche Knoten neu sind.
mpdonadio