마지막 cron 실행 후 (날짜) 타임 스탬프를 어떻게 얻습니까?


11

나는 모듈을 만들고 있지만 막혀있다. hook_cron 작업을 실행할 때 이전 cron의 타임 스탬프가 필요하다. 그래서 어떤 노드가 새로운 노드인지 확인하고 이메일을 보낼 수있다.

그래서 마지막 cron 실행에서 날짜 / 시간 스탬프가 필요하지만 어떻게 거기에 도착합니까?

답변:


19

마지막 cron 실행의 UNIX 타임 스탬프는 다음을 사용하여 가져올 수 있습니다.

variable_get('cron_last');

필요한 경우 PHP의 날짜 함수를 사용하여 UNIX 타임 스탬프를 쉽게 조작 할 수 있습니다 .


3

hook_requirement () 함수가 도움이 될 수 있습니다.

이것을 확인하십시오 : http://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_requirements/7

모듈 파일에 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');
  }
}

도움이 되긴하지만 바트의 대답은 더 간단하기 때문에 더 좋습니다. +1
FLY

hook_requirements ()는 상태 보고서 페이지 콜백 ( " pi.drupal.org/api/drupal/modules%21system%21system.api.php/… ) 에서"런타임 "단계에 대해서만 호출됩니다 . 이것이 새로운 노드를 결정하는 데 어떻게 도움이되는지 모르겠습니다.
mpdonadio
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.