Як мені отримати позначку часу (дати) з моменту останнього запуску хронів?


11

Я будую модуль, але я застряг .. Мені потрібна мітка часу від попереднього cron, коли я запускаю завдання на зачіпку_cron, щоб я міг перевірити, які вузли нові, і надіслати їх електронною поштою.

Тому мені потрібна штамп дати / часу з останнього запуску крона, але як я можу дістатися туди?

Відповіді:


19

UNIX часової позначки останнього запуску хронів можна отримати за допомогою:

variable_get('cron_last');

Якщо вам потрібно, ви можете легко маніпулювати міткою часу UNIX за допомогою функції дати PHP .


3

функція ho_requirement () може допомогти вам.

Перевірте це: http://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_requirements/7

У файл вашого модуля запишіть функцію kuk_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');
  }
}

корисна, але мені подобається відповідь Барта краще, тому що це простіше +1
FLY

ho_requirements () викликається лише на етапі "виконання" зі зворотного виклику сторінки звіту про стан (див. api.drupal.org/api/drupal/modules%21system%21system.api.php/… ). Я не бачу, як це допоможе визначити, які вузли нові.
mpdonadio
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.