Files
piratepoet/lib/API/Endpoints/Cron.php
Vlad a438f13bb0 - Modifies cron router/UI to display proper status message when WP task
scheduler is configured and cron is not running
- Updates sending queue worker and related components to stop (delete)
  cron when all processing is done
2016-08-05 13:03:31 -04:00

41 lines
987 B
PHP

<?php
namespace MailPoet\API\Endpoints;
use MailPoet\Config\TaskScheduler;
use MailPoet\Cron\CronHelper;
use MailPoet\Cron\Supervisor;
use MailPoet\Models\Setting;
if(!defined('ABSPATH')) exit;
class Cron {
function start() {
$supervisor = new Supervisor($force_run = true);
return $supervisor->checkDaemon();
}
function stop() {
$daemon = CronHelper::getDaemon();
if(!$daemon || $daemon['status'] !== 'started') {
$result = false;
} else {
$daemon['status'] = 'stopping';
$result = CronHelper::saveDaemon($daemon);
}
return array(
'result' => $result
);
}
function getStatus() {
$task_scheduler = TaskScheduler::getCurrentMethod();
$daemon = Setting::getSetting(CronHelper::DAEMON_SETTING);
if($daemon) {
return $daemon;
}
$status = ($task_scheduler === TaskScheduler::METHOD_WORDPRESS) ?
'wordpress_task_scheduler_enabled' :
false;
return array('status' => $status);
}
}