function simple_sitemap_cron in Simple XML sitemap 4.x
Same name and namespace in other branches
- 8.3 simple_sitemap.module \simple_sitemap_cron()
- 8.2 simple_sitemap.module \simple_sitemap_cron()
Implements hook_cron().
File
- ./
simple_sitemap.module, line 146 - Main module file containing hooks.
Code
function simple_sitemap_cron() {
/** @var \Drupal\simple_sitemap\Settings $settings */
$settings = \Drupal::service('simple_sitemap.settings');
if ($settings
->get('cron_generate')) {
$interval = (int) $settings
->get('cron_generate_interval', 0) * 60 * 60;
$request_time = \Drupal::service('datetime.time')
->getRequestTime();
$generation_in_progress = \Drupal::service('simple_sitemap.queue_worker')
->generationInProgress();
$state = \Drupal::state();
if ($interval === 0 || $generation_in_progress || $state
->get('simple_sitemap.last_cron_generate', 0) + $interval <= $request_time) {
if (!$generation_in_progress) {
$state
->set('simple_sitemap.last_cron_generate', $request_time);
}
/** @var \Drupal\simple_sitemap\Manager\Generator $generator */
$generator = \Drupal::service('simple_sitemap.generator');
$generator
->generateSitemap(QueueWorker::GENERATE_TYPE_CRON);
}
}
}