¿Cómo obtengo la marca de tiempo (fecha) desde la última ejecución cron?


11

Estoy construyendo un módulo pero estoy atascado. Necesito la marca de tiempo del cron anterior mientras ejecuto un trabajo hook_cron para poder verificar qué nodos son nuevos y enviarlos por correo electrónico.

Entonces necesito el sello de fecha / hora de la última ejecución cron pero ¿cómo llego allí?

Respuestas:


19

Se puede obtener una marca de tiempo UNIX de la última ejecución cron con:

variable_get('cron_last');

Si lo necesita, puede manipular fácilmente una marca de tiempo UNIX con la función de fecha de PHP .


3

La función hook_requirement () puede ayudarlo.

Mira esto: http://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_requirements/7

En su archivo de módulo, escriba la función 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');
  }
}

útil pero me gusta más la respuesta de Bart porque es más simple +1
VUELO

hook_requirements () solo se invoca para la fase de "tiempo de ejecución" desde la devolución de llamada de la página del informe de estado (cf, api.drupal.org/api/drupal/modules%21system%21system.api.php/… ). No veo cómo esto ayudaría a determinar qué nodos son nuevos.
mpdonadio
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.