Add condition to WordPress trigger method

[MAILPOET-1571]
This commit is contained in:
Pavel Dohnal
2019-01-22 09:26:50 +01:00
parent b66c724c4a
commit 627088e43d
2 changed files with 6 additions and 2 deletions

View File

@@ -8,6 +8,7 @@ use MailPoet\Cron\Workers\SendingQueue\SendingQueue as SendingQueueWorker;
use MailPoet\Cron\Workers\Bounce as BounceWorker; use MailPoet\Cron\Workers\Bounce as BounceWorker;
use MailPoet\Cron\Workers\KeyCheck\PremiumKeyCheck as PremiumKeyCheckWorker; use MailPoet\Cron\Workers\KeyCheck\PremiumKeyCheck as PremiumKeyCheckWorker;
use MailPoet\Cron\Workers\KeyCheck\SendingServiceKeyCheck as SendingServiceKeyCheckWorker; use MailPoet\Cron\Workers\KeyCheck\SendingServiceKeyCheck as SendingServiceKeyCheckWorker;
use MailPoet\Cron\Workers\StatsNotifications\Worker;
use MailPoet\Mailer\MailerLog; use MailPoet\Mailer\MailerLog;
use MailPoet\Models\Setting; use MailPoet\Models\Setting;
use MailPoet\Services\Bridge; use MailPoet\Services\Bridge;
@@ -44,6 +45,8 @@ class WordPress {
$premium_key_specified = Bridge::isPremiumKeySpecified(); $premium_key_specified = Bridge::isPremiumKeySpecified();
$premium_keycheck_due_tasks = PremiumKeyCheckWorker::getDueTasks(); $premium_keycheck_due_tasks = PremiumKeyCheckWorker::getDueTasks();
$premium_keycheck_future_tasks = PremiumKeyCheckWorker::getFutureTasks(); $premium_keycheck_future_tasks = PremiumKeyCheckWorker::getFutureTasks();
// stats notifications
$stats_notifications_tasks = (bool)Worker::getDueTasks();
// check requirements for each worker // check requirements for each worker
$sending_queue_active = (($scheduled_queues || $running_queues) && !$sending_limit_reached && !$sending_is_paused); $sending_queue_active = (($scheduled_queues || $running_queues) && !$sending_limit_reached && !$sending_is_paused);
$bounce_sync_active = ($mp_sending_enabled && ($bounce_due_tasks || !$bounce_future_tasks)); $bounce_sync_active = ($mp_sending_enabled && ($bounce_due_tasks || !$bounce_future_tasks));
@@ -57,6 +60,7 @@ class WordPress {
|| $bounce_sync_active || $bounce_sync_active
|| $sending_service_key_check_active || $sending_service_key_check_active
|| $premium_key_check_active || $premium_key_check_active
|| $stats_notifications_tasks
); );
} }

View File

@@ -38,7 +38,7 @@ class Worker {
function process() { function process() {
$settings = Setting::getValue(self::SETTINGS_KEY); $settings = Setting::getValue(self::SETTINGS_KEY);
$this->mailer->sender = $this->mailer->getSenderNameAndAddress($this->constructSenderEmail()); $this->mailer->sender = $this->mailer->getSenderNameAndAddress($this->constructSenderEmail());
foreach($this->getTasks() as $task) { foreach(self::getDueTasks() as $task) {
try { try {
$this->mailer->send($this->constructNewsletter($task), $settings['address']); $this->mailer->send($this->constructNewsletter($task), $settings['address']);
} catch(\Exception $e) { } catch(\Exception $e) {
@@ -64,7 +64,7 @@ class Worker {
]; ];
} }
private function getTasks() { public static function getDueTasks() {
$date = new Carbon(); $date = new Carbon();
return ScheduledTask::orderByAsc('priority') return ScheduledTask::orderByAsc('priority')
->orderByAsc('updated_at') ->orderByAsc('updated_at')