- Patch 42498 by m3avrck: unified cron-trackers and added a section that lets you figure out whether cron is running (usability improvement).
parent
16051d46a9
commit
ebeaaedc8f
2
cron.php
2
cron.php
|
@ -27,5 +27,5 @@ module_invoke_all('cron');
|
|||
|
||||
// Clean up
|
||||
variable_set('cron_busy', false);
|
||||
variable_set('cron_last', time());
|
||||
watchdog('cron', t('Cron run completed'));
|
||||
|
||||
|
|
|
@ -1333,3 +1333,11 @@ function system_update_164() {
|
|||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
function system_update_165() {
|
||||
$cron_last = max(variable_get('drupal_cron_last'), variable_get('ping_cron_last'));
|
||||
variable_set('cron_last', $cron_last);
|
||||
variable_del('drupal_cron_last');
|
||||
variable_del('ping_cron_last');
|
||||
return array();
|
||||
}
|
||||
|
|
|
@ -74,8 +74,7 @@ function drupal_settings() {
|
|||
* Implementation of hook_cron(); handles pings to and from the site.
|
||||
*/
|
||||
function drupal_cron() {
|
||||
if (time() - variable_get('drupal_cron_last', 0) > 21600) {
|
||||
variable_set('drupal_cron_last', time());
|
||||
if (time() - variable_get('cron_last', 0) > 21600) {
|
||||
|
||||
// If this site acts as a Drupal XML-RPC server, delete the sites that
|
||||
// stopped sending "ping" messages.
|
||||
|
|
|
@ -74,8 +74,7 @@ function drupal_settings() {
|
|||
* Implementation of hook_cron(); handles pings to and from the site.
|
||||
*/
|
||||
function drupal_cron() {
|
||||
if (time() - variable_get('drupal_cron_last', 0) > 21600) {
|
||||
variable_set('drupal_cron_last', time());
|
||||
if (time() - variable_get('cron_last', 0) > 21600) {
|
||||
|
||||
// If this site acts as a Drupal XML-RPC server, delete the sites that
|
||||
// stopped sending "ping" messages.
|
||||
|
|
|
@ -37,11 +37,9 @@ function ping_cron() {
|
|||
global $base_url;
|
||||
|
||||
if (variable_get('site_name', 0) && variable_get('site_slogan', 0)) {
|
||||
if (db_num_rows(db_query("SELECT nid FROM {node} WHERE status = 1 AND moderate = 0 AND (created > '". variable_get('ping_cron_last', time()) ."' OR changed > '". variable_get('ping_cron_last', time()) ."')"), 1)) {
|
||||
if (db_num_rows(db_query("SELECT nid FROM {node} WHERE status = 1 AND moderate = 0 AND (created > '". variable_get('cron_last', time()) ."' OR changed > '". variable_get('cron_last', time()) ."')"), 1)) {
|
||||
_ping_notify(variable_get('site_name', '') .' - '. variable_get('site_slogan', ''), $base_url);
|
||||
}
|
||||
|
||||
variable_set('ping_cron_last', time());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -37,11 +37,9 @@ function ping_cron() {
|
|||
global $base_url;
|
||||
|
||||
if (variable_get('site_name', 0) && variable_get('site_slogan', 0)) {
|
||||
if (db_num_rows(db_query("SELECT nid FROM {node} WHERE status = 1 AND moderate = 0 AND (created > '". variable_get('ping_cron_last', time()) ."' OR changed > '". variable_get('ping_cron_last', time()) ."')"), 1)) {
|
||||
if (db_num_rows(db_query("SELECT nid FROM {node} WHERE status = 1 AND moderate = 0 AND (created > '". variable_get('cron_last', time()) ."' OR changed > '". variable_get('cron_last', time()) ."')"), 1)) {
|
||||
_ping_notify(variable_get('site_name', '') .' - '. variable_get('site_slogan', ''), $base_url);
|
||||
}
|
||||
|
||||
variable_set('ping_cron_last', time());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -18,10 +18,10 @@ function system_help($section) {
|
|||
$output .= t('<p>You can</p>
|
||||
<ul>
|
||||
<li>activate your cron job on the cron page <a href="%file-cron">cron.php</a>.</li>
|
||||
<li>read how to <a href="%external-http-drupal-org-node-23714">configure cron jobs</a>.</li>
|
||||
<li>read how to <a href="%external-http-drupal-org-cron">configure cron jobs</a>.</li>
|
||||
<li>administer cache settings in <a href="%admin-settings">administer >> settings</a>.</li>
|
||||
</ul>
|
||||
', array('%file-cron' => 'cron.php', '%external-http-drupal-org-node-23714' => 'http://drupal.org/node/23714', '%admin-settings' => url('admin/settings')));
|
||||
', array('%file-cron' => 'cron.php', '%external-http-drupal-org-cron' => 'http://drupal.org/cron', '%admin-settings' => url('admin/settings')));
|
||||
$output .= '<p>'. t('For more information please read the configuration and customization handbook <a href="%system">System page</a>.', array('%system' => 'http://www.drupal.org/handbook/modules/system/')) .'</p>';
|
||||
return $output;
|
||||
case 'admin/modules#description':
|
||||
|
@ -461,6 +461,10 @@ function system_view_general() {
|
|||
$form['strings'] = array('#type' => 'fieldset', '#title' => t('String handling'), '#collapsible' => TRUE, '#collapsed' => TRUE);
|
||||
$form['strings'] = array_merge($form['strings'], unicode_settings());
|
||||
|
||||
// Cron: report status and errors.
|
||||
$form['cron'] = array('#type' => 'fieldset', '#title' => t('Cron jobs'), '#collapsible' => TRUE, '#collapsed' => TRUE);
|
||||
$form['cron'] = array_merge($form['cron'], system_cron_settings());
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
|
@ -479,6 +483,25 @@ function system_check_directory($form_element) {
|
|||
return $form_element;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the cron status and errors for admin/settings.
|
||||
*/
|
||||
function system_cron_settings() {
|
||||
$cron_last = variable_get('cron_last', NULL);
|
||||
|
||||
if (is_numeric($cron_last)) {
|
||||
$title = t('Cron properly configured');
|
||||
$status = t('Cron is running. The last cron job ran %time ago.', array('%time' => format_interval(time() - $cron_last)));
|
||||
}
|
||||
else {
|
||||
$title = t('Cron not configured');
|
||||
$status = t('Cron has not run. It appears cron jobs have not been setup on your system. Please check the help pages for <a href="%url">configuring cron jobs</a>.', array('%url' => 'http://drupal.org/cron'));
|
||||
}
|
||||
|
||||
$form['settings'] = array('#type' => 'item', '#title' => $title, '#value' => $status);
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the current status of an array of files in the system table.
|
||||
*/
|
||||
|
|
|
@ -18,10 +18,10 @@ function system_help($section) {
|
|||
$output .= t('<p>You can</p>
|
||||
<ul>
|
||||
<li>activate your cron job on the cron page <a href="%file-cron">cron.php</a>.</li>
|
||||
<li>read how to <a href="%external-http-drupal-org-node-23714">configure cron jobs</a>.</li>
|
||||
<li>read how to <a href="%external-http-drupal-org-cron">configure cron jobs</a>.</li>
|
||||
<li>administer cache settings in <a href="%admin-settings">administer >> settings</a>.</li>
|
||||
</ul>
|
||||
', array('%file-cron' => 'cron.php', '%external-http-drupal-org-node-23714' => 'http://drupal.org/node/23714', '%admin-settings' => url('admin/settings')));
|
||||
', array('%file-cron' => 'cron.php', '%external-http-drupal-org-cron' => 'http://drupal.org/cron', '%admin-settings' => url('admin/settings')));
|
||||
$output .= '<p>'. t('For more information please read the configuration and customization handbook <a href="%system">System page</a>.', array('%system' => 'http://www.drupal.org/handbook/modules/system/')) .'</p>';
|
||||
return $output;
|
||||
case 'admin/modules#description':
|
||||
|
@ -461,6 +461,10 @@ function system_view_general() {
|
|||
$form['strings'] = array('#type' => 'fieldset', '#title' => t('String handling'), '#collapsible' => TRUE, '#collapsed' => TRUE);
|
||||
$form['strings'] = array_merge($form['strings'], unicode_settings());
|
||||
|
||||
// Cron: report status and errors.
|
||||
$form['cron'] = array('#type' => 'fieldset', '#title' => t('Cron jobs'), '#collapsible' => TRUE, '#collapsed' => TRUE);
|
||||
$form['cron'] = array_merge($form['cron'], system_cron_settings());
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
|
@ -479,6 +483,25 @@ function system_check_directory($form_element) {
|
|||
return $form_element;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the cron status and errors for admin/settings.
|
||||
*/
|
||||
function system_cron_settings() {
|
||||
$cron_last = variable_get('cron_last', NULL);
|
||||
|
||||
if (is_numeric($cron_last)) {
|
||||
$title = t('Cron properly configured');
|
||||
$status = t('Cron is running. The last cron job ran %time ago.', array('%time' => format_interval(time() - $cron_last)));
|
||||
}
|
||||
else {
|
||||
$title = t('Cron not configured');
|
||||
$status = t('Cron has not run. It appears cron jobs have not been setup on your system. Please check the help pages for <a href="%url">configuring cron jobs</a>.', array('%url' => 'http://drupal.org/cron'));
|
||||
}
|
||||
|
||||
$form['settings'] = array('#type' => 'item', '#title' => $title, '#value' => $status);
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the current status of an array of files in the system table.
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue