summaryrefslogtreecommitdiff
path: root/app/Console/CronjobCommand.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Console/CronjobCommand.php')
-rw-r--r--app/Console/CronjobCommand.php32
1 files changed, 32 insertions, 0 deletions
diff --git a/app/Console/CronjobCommand.php b/app/Console/CronjobCommand.php
new file mode 100644
index 00000000..dae13af9
--- /dev/null
+++ b/app/Console/CronjobCommand.php
@@ -0,0 +1,32 @@
+<?php
+
+namespace Kanboard\Console;
+
+use Symfony\Component\Console\Input\ArrayInput;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\Console\Output\NullOutput;
+
+class CronjobCommand extends BaseCommand
+{
+ private $commands = array(
+ 'projects:daily-stats',
+ 'notification:overdue-tasks',
+ 'trigger:tasks',
+ );
+
+ protected function configure()
+ {
+ $this
+ ->setName('cronjob')
+ ->setDescription('Execute daily cronjob');
+ }
+
+ protected function execute(InputInterface $input, OutputInterface $output)
+ {
+ foreach ($this->commands as $command) {
+ $job = $this->getApplication()->find($command);
+ $job->run(new ArrayInput(array('command' => $command)), new NullOutput());
+ }
+ }
+}