You are here

function update_cron in Drupal 7

Same name and namespace in other branches
  1. 8 core/modules/update/update.module \update_cron()
  2. 6 modules/update/update.module \update_cron()
  3. 9 core/modules/update/update.module \update_cron()
  4. 10 core/modules/update/update.module \update_cron()

Implements hook_cron().

File

modules/update/update.module, line 297
Handles updates of Drupal core and contributed projects.

Code

function update_cron() {
  $frequency = variable_get('update_check_frequency', 1);
  $interval = 60 * 60 * 24 * $frequency;
  if (REQUEST_TIME - variable_get('update_last_check', 0) > $interval) {

    // If the configured update interval has elapsed, we want to invalidate
    // the cached data for all projects, attempt to re-fetch, and trigger any
    // configured notifications about the new status.
    update_refresh();
    update_fetch_data();
  }
  else {

    // Otherwise, see if any individual projects are now stale or still
    // missing data, and if so, try to fetch the data.
    update_get_available(TRUE);
  }
  if (REQUEST_TIME - variable_get('update_last_email_notification', 0) > $interval) {

    // If configured time between notifications elapsed, send email about
    // updates possibly available.
    module_load_include('inc', 'update', 'update.fetch');
    _update_cron_notify();
  }

  // Clear garbage from disk.
  update_clear_update_disk_cache();
}