Files
Kanboard-Prod/app/Controller/CronjobController.php
Miodrag Tokić 5dae1e2e83 Run cron jobs via URL
Kanboard supports running cron jobs via CLI. There are hosting services
that don't offer CLI access, but they do offer calling a URL
periodically. This feature is often used as a CLI cron job replacement.

This commit adds a CronjobController called by "/cronjob" URL that will
execute cron jobs as they were executed via CLI. The URL has public
access, but is protected using the webhook token. The "/cronjob" URL
should be called via HTTPS.
2018-06-04 09:59:55 -07:00

33 lines
659 B
PHP

<?php
namespace Kanboard\Controller;
use Kanboard\Controller\BaseController;
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Output\NullOutput;
/**
* Class CronjobController
*
* Runs cron jobs via URL
*
* @package Kanboard\Controller
*/
class CronjobController extends BaseController
{
public function run()
{
$this->checkWebhookToken();
$input = new ArrayInput(array(
'command' => 'cronjob',
));
$output = new NullOutput();
$this->cli->setAutoExit(false);
$this->cli->run($input, $output);
$this->response->html('Cronjob executed');
}
}