diff core/lib/Drupal/Core/Cron.php @ 14:1fec387a4317

Update Drupal core to 8.5.2 via Composer
author Chris Cannam
date Mon, 23 Apr 2018 09:46:53 +0100
parents 4c8ae668cc8c
children af1871eacc83
line wrap: on
line diff
--- a/core/lib/Drupal/Core/Cron.php	Mon Apr 23 09:33:26 2018 +0100
+++ b/core/lib/Drupal/Core/Cron.php	Mon Apr 23 09:46:53 2018 +0100
@@ -2,6 +2,7 @@
 
 namespace Drupal\Core;
 
+use Drupal\Component\Datetime\TimeInterface;
 use Drupal\Component\Utility\Timer;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Queue\QueueWorkerManagerInterface;
@@ -70,6 +71,13 @@
   protected $queueManager;
 
   /**
+   * The time service.
+   *
+   * @var \Drupal\Component\Datetime\TimeInterface
+   */
+  protected $time;
+
+  /**
    * Constructs a cron object.
    *
    * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
@@ -86,8 +94,10 @@
    *   A logger instance.
    * @param \Drupal\Core\Queue\QueueWorkerManagerInterface $queue_manager
    *   The queue plugin manager.
+   * @param \Drupal\Component\Datetime\TimeInterface $time
+   *   The time service.
    */
-  public function __construct(ModuleHandlerInterface $module_handler, LockBackendInterface $lock, QueueFactory $queue_factory, StateInterface $state, AccountSwitcherInterface $account_switcher, LoggerInterface $logger, QueueWorkerManagerInterface $queue_manager) {
+  public function __construct(ModuleHandlerInterface $module_handler, LockBackendInterface $lock, QueueFactory $queue_factory, StateInterface $state, AccountSwitcherInterface $account_switcher, LoggerInterface $logger, QueueWorkerManagerInterface $queue_manager, TimeInterface $time = NULL) {
     $this->moduleHandler = $module_handler;
     $this->lock = $lock;
     $this->queueFactory = $queue_factory;
@@ -95,6 +105,7 @@
     $this->accountSwitcher = $account_switcher;
     $this->logger = $logger;
     $this->queueManager = $queue_manager;
+    $this->time = $time ?: \Drupal::service('datetime.time');
   }
 
   /**
@@ -143,7 +154,8 @@
    */
   protected function setCronLastTime() {
     // Record cron time.
-    $this->state->set('system.cron_last', REQUEST_TIME);
+    $request_time = $this->time->getRequestTime();
+    $this->state->set('system.cron_last', $request_time);
     $this->logger->notice('Cron run completed.');
   }