Add configuration check to Linux Cron

[MAILPOET-2507]
This commit is contained in:
Rostislav Wolny
2019-10-30 13:20:28 +01:00
committed by Jack Kitterhing
parent 6017008548
commit c280b2bd55
2 changed files with 17 additions and 4 deletions

View File

@ -8,10 +8,14 @@ class CronTrigger {
/** @var SettingsController */
private $settings;
const METHOD_LINUX_CRON = 'Linux Cron';
const METHOD_MAILPOET = 'MailPoet';
const METHOD_WORDPRESS = 'WordPress';
public static $available_methods = [
'mailpoet' => 'MailPoet',
'wordpress' => 'WordPress',
'linux_cron' => 'Linux Cron',
'mailpoet' => self::METHOD_MAILPOET,
'wordpress' => self::METHOD_WORDPRESS,
'linux_cron' => self::METHOD_LINUX_CRON,
'none' => 'Disabled',
];
const DEFAULT_METHOD = 'WordPress';

View File

@ -34,7 +34,16 @@ if (strpos(@ini_get('disable_functions'), 'set_time_limit') === false) {
set_time_limit(0);
}
$data = \MailPoet\Cron\CronHelper::createDaemon(null);
$container = \MailPoet\DI\ContainerWrapper::getInstance(WP_DEBUG);
// Check if Linux Cron method is set in plugin settings
$settings = $container->get(\MailPoet\Settings\SettingsController::class);
if ($settings->get('cron_trigger.method') !== \MailPoet\Cron\CronTrigger::METHOD_LINUX_CRON) {
echo 'MailPoet is not configured to run with Linux Cron.';
exit(1);
}
// Run Cron Daemon
$data = \MailPoet\Cron\CronHelper::createDaemon(null);
$trigger = $container->get(\MailPoet\Cron\Daemon::class);
$trigger->run($data);