function update_cron in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/update/update.module \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();
}