- Renames TaskScheduler to CronTrigger and updates relevant code

- Standardizes setting value const naming convention
This commit is contained in:
Vlad
2016-07-21 18:50:09 -04:00
parent ec6559b8be
commit 63bd093f35
9 changed files with 54 additions and 53 deletions

View File

@@ -1,8 +1,8 @@
<?php
namespace MailPoet\API\Endpoints;
use MailPoet\Config\TaskScheduler;
use MailPoet\Cron\CronHelper;
use MailPoet\Cron\CronTrigger;
use MailPoet\Cron\Supervisor;
use MailPoet\Models\Setting;
@@ -28,12 +28,12 @@ class Cron {
}
function getStatus() {
$task_scheduler = TaskScheduler::getCurrentMethod();
$task_scheduler = CronTrigger::getCurrentMethod();
$daemon = Setting::getValue(CronHelper::DAEMON_SETTING);
if($daemon) {
return $daemon;
}
$status = ($task_scheduler === TaskScheduler::METHOD_WORDPRESS) ?
$status = ($task_scheduler === CronTrigger::METHOD_WORDPRESS) ?
'wordpress_task_scheduler_enabled' :
false;
return array('status' => $status);

View File

@@ -2,7 +2,7 @@
namespace MailPoet\Config;
use MailPoet\Models;
use MailPoet\Cron\Supervisor;
use MailPoet\Cron\CronTrigger;
use MailPoet\Router;
use MailPoet\API;
use MailPoet\WP\Notice as WPNotice;
@@ -107,7 +107,7 @@ class Initializer {
$this->setupShortcodes();
$this->setupHooks();
$this->setupImages();
$this->setupTaskScheduler();
$this->setupCronTrigger();
$this->plugin_initialized = true;
} catch(\Exception $e) {
@@ -192,8 +192,8 @@ class Initializer {
$router->init();
}
function setupTaskScheduler() {
$task_scheduler = new TaskScheduler();
function setupCronTrigger() {
$task_scheduler = new CronTrigger();
$task_scheduler->init();
}

View File

@@ -1,6 +1,7 @@
<?php
namespace MailPoet\Config;
use MailPoet\Cron\CronTrigger;
use MailPoet\Form\Block;
use MailPoet\Form\Renderer as FormRenderer;
use MailPoet\Models\CustomField;
@@ -255,7 +256,7 @@ class Menu {
$data = array(
'settings' => $settings,
'segments' => Segment::getPublic()->findArray(),
'task_scheduler' => TaskScheduler::getAvailableMethods(),
'cron_trigger' => CronTrigger::getAvailableMethods(),
'pages' => Pages::getAll(),
'flags' => $flags,
'current_user' => wp_get_current_user(),

View File

@@ -10,6 +10,7 @@ use MailPoet\Config\PopulatorData\Templates\PostNotificationsBlank1Column;
use MailPoet\Config\PopulatorData\Templates\WelcomeBlank1Column;
use MailPoet\Config\PopulatorData\Templates\WelcomeBlank12Column;
use MailPoet\Config\PopulatorData\Templates\SimpleText;
use MailPoet\Cron\CronTrigger;
use \MailPoet\Models\Segment;
use \MailPoet\Segments\WP;
use \MailPoet\Models\Setting;
@@ -74,10 +75,10 @@ class Populator {
private function createDefaultSettings() {
$current_user = wp_get_current_user();
if(!Setting::getValue('task_scheduler')) {
if(!Setting::getValue(CronTrigger::SETTING_VALUE)) {
// disable task scheduler (cron) be default
Setting::setValue('task_scheduler', array(
'method' => TaskScheduler::METHOD_WORDPRESS
Setting::setValue(CronTrigger::SETTING_VALUE, array(
'method' => CronTrigger::METHOD_WORDPRESS
));
}

View File

@@ -1,8 +1,6 @@
<?php
namespace MailPoet\Config;
namespace MailPoet\Cron;
use MailPoet\Cron\CronHelper;
use MailPoet\Cron\Supervisor;
use MailPoet\Cron\Workers\Scheduler as SchedulerWorker;
use MailPoet\Cron\Workers\SendingQueue\SendingQueue as SendingQueueWorker;
use MailPoet\Mailer\MailerLog;
@@ -10,9 +8,10 @@ use MailPoet\Models\Setting;
if(!defined('ABSPATH')) exit;
class TaskScheduler {
class CronTrigger {
const METHOD_WORDPRESS = 'WordPress';
const METHOD_MAILPOET = 'MailPoet';
const SETTING_VALUE = 'cron_trigger';
function __construct() {
$this->method = self::getCurrentMethod();
@@ -24,23 +23,23 @@ class TaskScheduler {
if(php_sapi_name() === 'cli') return;
switch($this->method) {
case self::METHOD_MAILPOET:
return $this->configureMailpoetScheduler();
return $this->configureMailpoetTrigger();
case self::METHOD_WORDPRESS:
return $this->configureWordpressScheduler();
return $this->configureWordpressTrigger();
default:
throw new \Exception(__("Task scheduler is not configured"));
throw new \Exception(__('Task scheduler is not configured'));
};
} catch(\Exception $e) {
// ignore exceptions as they should not prevent the rest of the site from loading
}
}
function configureMailpoetScheduler() {
function configureMailpoetTrigger() {
$supervisor = new Supervisor();
$supervisor->checkDaemon();
}
function configureWordpressScheduler() {
function configureWordpressTrigger() {
$scheduled_queues = SchedulerWorker::getScheduledQueues();
$running_queues = SendingQueueWorker::getRunningQueues();
$sending_limit_reached = MailerLog::isSendingLimitReached();
@@ -49,7 +48,7 @@ class TaskScheduler {
// 2) queues are already being processed
// 3) sending limit has not been reached
if(($scheduled_queues || $running_queues) && !$sending_limit_reached) {
return $this->configureMailpoetScheduler();
return $this->configureMailpoetTrigger();
}
// in all other cases stop (delete) the daemon
$cron_daemon = CronHelper::getDaemon();
@@ -66,6 +65,6 @@ class TaskScheduler {
}
static function getCurrentMethod() {
return Setting::getValue('task_scheduler.method');
return Setting::getValue('cron_trigger.method');
}
}

View File

@@ -2,10 +2,10 @@
namespace MailPoet\Cron\Workers\SendingQueue;
use MailPoet\Cron\CronHelper;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Cron;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Mailer as MailerTask;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Newsletter as NewsletterTask;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Subscribers as SubscribersTask;
use MailPoet\Cron\Workers\SendingQueue\Tasks\TaskScheduler as TaskSchedulerTask;
use MailPoet\Models\SendingQueue as SendingQueueModel;
use MailPoet\Models\StatisticsNewsletters as StatisticsNewslettersModel;
use MailPoet\Models\Subscriber as SubscriberModel;
@@ -76,7 +76,7 @@ class SendingQueue {
CronHelper::enforceExecutionLimit($this->timer);
}
}
TaskSchedulerTask::complete();
Cron::complete();
}
function processQueue($queue, $newsletter, $subscribers) {

View File

@@ -1,17 +1,17 @@
<?php
namespace MailPoet\Cron\Workers\SendingQueue\Tasks;
use MailPoet\Config\TaskScheduler as TaskSchedulerConfig;
use MailPoet\Cron\CronHelper;
use MailPoet\Cron\CronTrigger;
if(!defined('ABSPATH')) exit;
class TaskScheduler {
class Cron {
static function complete() {
// when there are no more queues to process and if the task
// scheduler method is WP, delete the cron daemon
$task_scheduler = TaskSchedulerConfig::getCurrentMethod();
if($task_scheduler === TaskSchedulerConfig::METHOD_WORDPRESS) {
$task_scheduler = CronTrigger::getCurrentMethod();
if($task_scheduler === CronTrigger::METHOD_WORDPRESS) {
CronHelper::deleteDaemon();
}
}

View File

@@ -6,10 +6,10 @@ use MailPoet\Models\Setting;
if(!defined('ABSPATH')) exit;
class MailerLog {
const MAILER_LOG_CONFIG = 'mta_log';
const SETTING_VALUE = 'mta_log';
static function getMailerLog() {
$mailer_log = Setting::getValue(self::MAILER_LOG_CONFIG);
$mailer_log = Setting::getValue(self::SETTING_VALUE);
if(!$mailer_log) {
$mailer_log = self::createOrResetMailerLog();
}
@@ -21,12 +21,12 @@ class MailerLog {
'sent' => 0,
'started' => time()
);
Setting::setValue(self::MAILER_LOG_CONFIG, $mailer_log);
Setting::setValue(self::SETTING_VALUE, $mailer_log);
return $mailer_log;
}
static function updateMailerLog($mailer_log) {
Setting::setValue(self::MAILER_LOG_CONFIG, $mailer_log);
Setting::setValue(self::SETTING_VALUE, $mailer_log);
return $mailer_log;
}

View File

@@ -51,9 +51,9 @@
<label>
<input
type="radio"
name="task_scheduler[method]"
value="MailPoet"
<% if (settings.task_scheduler.method == 'MailPoet') %>
name="cron_trigger[method]"
value="<%= cron_trigger.mailpoet %>"
<% if (settings.cron_trigger.method == cron_trigger.mailpoet) %>
checked="checked"
<% endif %>
/><%= __("MailPoet's own script. Doesn't work with [link]these hosts[/link].")