Cron::run

public Cron::run()

Executes a cron run.

Do not call this function from a test. Use $this->cronRun() instead.

Return value

bool TRUE upon success, FALSE otherwise.

Overrides CronInterface::run

File

core/lib/Drupal/Core/Cron.php, line 102

Class

Cron
The Drupal core Cron service.

Namespace

Drupal\Core

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public function run() {
  // Allow execution to continue even if the request gets cancelled.
  @ignore_user_abort(TRUE);
 
  // Force the current user to anonymous to ensure consistent permissions on
  // cron runs.
  $this->accountSwitcher->switchTo(new AnonymousUserSession());
 
  // Try to allocate enough time to run all the hook_cron implementations.
  drupal_set_time_limit(240);
 
  $return = FALSE;
 
  // Try to acquire cron lock.
  if (!$this->lock->acquire('cron', 900.0)) {
    // Cron is still running normally.
    $this->logger->warning('Attempting to re-run cron while it is already running.');
  }
  else {
    $this->invokeCronHandlers();
    $this->setCronLastTime();
 
    // Release cron lock.
    $this->lock->release('cron');
 
    // Return TRUE so other functions can check if it did run successfully
    $return = TRUE;
  }
 
  // Process cron queues.
  $this->processQueues();
 
  // Restore the user.
  $this->accountSwitcher->switchBack();
 
  return $return;
}
doc_Drupal
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.