Bagaimana cara mendapatkan cap waktu (tanggal) sejak cron run terakhir?

11

Saya sedang membangun sebuah modul tetapi saya macet .. Saya perlu cap waktu dari cron sebelumnya ketika saya menjalankan pekerjaan hook_cron sehingga saya dapat memeriksa node mana yang baru dan mengirimkan email kepada mereka.

Jadi saya perlu cap tanggal / waktu dari cron run terakhir tetapi bagaimana saya sampai di sana '?

TERBANG
sumber

Jawaban:

19

Stempel waktu UNIX dari cron run terakhir dapat diambil dengan:

variable_get('cron_last');

Jika perlu, Anda dapat dengan mudah memanipulasi stempel waktu UNIX dengan fungsi tanggal PHP .

Bart
sumber
3

fungsi hook_requirement () dapat membantu Anda.

Lihat ini: http://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_requirements/7

Dalam file modul Anda, tulis fungsi 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
sumber
membantu tapi saya suka jawaban bart lebih baik karena lebih mudah +1
FLY
hook_requirements () hanya dipanggil untuk fase "runtime" dari panggilan balik halaman laporan status (cf, api.drupal.org/api/drupal/modules%21system%21system%21system.api.php/… ). Saya tidak melihat bagaimana ini akan membantu menentukan node mana yang baru.
mpdonadio