Mercurial > hg > isophonics-drupal-site
comparison core/modules/system/src/CronController.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 129ea1e6d783 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4c8ae668cc8c |
---|---|
1 <?php | |
2 | |
3 namespace Drupal\system; | |
4 | |
5 use Drupal\Core\Controller\ControllerBase; | |
6 use Drupal\Core\CronInterface; | |
7 use Symfony\Component\DependencyInjection\ContainerInterface; | |
8 use Symfony\Component\HttpFoundation\Response; | |
9 | |
10 /** | |
11 * Controller for Cron handling. | |
12 */ | |
13 class CronController extends ControllerBase { | |
14 | |
15 /** | |
16 * The cron service. | |
17 * | |
18 * @var \Drupal\Core\CronInterface | |
19 */ | |
20 protected $cron; | |
21 | |
22 /** | |
23 * Constructs a CronController object. | |
24 * | |
25 * @param \Drupal\Core\CronInterface $cron | |
26 * The cron service. | |
27 */ | |
28 public function __construct(CronInterface $cron) { | |
29 $this->cron = $cron; | |
30 } | |
31 | |
32 /** | |
33 * {@inheritdoc} | |
34 */ | |
35 public static function create(ContainerInterface $container) { | |
36 return new static($container->get('cron')); | |
37 } | |
38 | |
39 | |
40 /** | |
41 * Run Cron once. | |
42 * | |
43 * @return \Symfony\Component\HttpFoundation\Response | |
44 * A Symfony response object. | |
45 */ | |
46 public function run() { | |
47 $this->cron->run(); | |
48 | |
49 // HTTP 204 is "No content", meaning "I did what you asked and we're done." | |
50 return new Response('', 204); | |
51 } | |
52 | |
53 /** | |
54 * Run cron manually. | |
55 * | |
56 * @return \Symfony\Component\HttpFoundation\RedirectResponse | |
57 * A Symfony direct response object. | |
58 */ | |
59 public function runManually() { | |
60 if ($this->cron->run()) { | |
61 drupal_set_message($this->t('Cron ran successfully.')); | |
62 } | |
63 else { | |
64 drupal_set_message($this->t('Cron run failed.'), 'error'); | |
65 } | |
66 | |
67 return $this->redirect('system.status'); | |
68 } | |
69 | |
70 } |