W3cubDocs

/Drupal 8

function update_cron

update_cron()

Implements hook_cron().

File

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

Code

function update_cron() {
  $update_config = \Drupal::config('update.settings');
  $frequency = $update_config->get('check.interval_days');
  $interval = 60 * 60 * 24 * $frequency;
  $last_check = \Drupal::state()->get('update.last_check') ? : 0;
  if ((REQUEST_TIME - $last_check) > $interval) {
    // If the configured update interval has elapsed, we want to invalidate
    // the 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);
  }
  $last_email_notice = \Drupal::state()->get('update.last_email_notification') ? : 0;
  if ((REQUEST_TIME - $last_email_notice) > $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();
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!modules!update!update.module/function/update_cron/8.1.x