diff options
Diffstat (limited to 'app/Console/Cronjob.php')
-rw-r--r-- | app/Console/Cronjob.php | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/app/Console/Cronjob.php b/app/Console/Cronjob.php new file mode 100644 index 00000000..2b12d93d --- /dev/null +++ b/app/Console/Cronjob.php @@ -0,0 +1,33 @@ +<?php + +namespace Kanboard\Console; + +use Symfony\Component\Console\Input\ArrayInput; +use Symfony\Component\Console\Input\InputArgument; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; +use Symfony\Component\Console\Output\NullOutput; + +class Cronjob extends Base +{ + 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()); + } + } +} |