function simple_sitemap_cron in Simple XML sitemap 8.3
Same name and namespace in other branches
- 8.2 simple_sitemap.module \simple_sitemap_cron()
- 4.x simple_sitemap.module \simple_sitemap_cron()
Implements hook_cron().
File
- ./
simple_sitemap.module, line 145 - Main module file containing hooks.
Code
function simple_sitemap_cron() {
/** @var \Drupal\simple_sitemap\Simplesitemap $generator */
$generator = \Drupal::service('simple_sitemap.generator');
if ($generator
->getSetting('cron_generate')) {
$interval = (int) $generator
->getSetting('cron_generate_interval', 0) * 60 * 60;
$request_time = \Drupal::service('datetime.time')
->getRequestTime();
$generation_in_progress = $generator
->getQueueWorker()
->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);
}
$generator
->generateSitemap(QueueWorker::GENERATE_TYPE_CRON);
}
}
}