- Enforces worker execution limit between each send operation

This commit is contained in:
Vlad
2016-11-23 12:02:48 -05:00
parent 96eaafe012
commit 8e438e1819

View File

@@ -27,8 +27,6 @@ class SendingQueue {
function process() { function process() {
foreach(self::getRunningQueues() as $queue) { foreach(self::getRunningQueues() as $queue) {
// abort if sending limit is reached
MailerLog::enforceSendingLimit();
// get and pre-process newsletter (render, replace shortcodes/links, etc.) // get and pre-process newsletter (render, replace shortcodes/links, etc.)
$newsletter = $this->newsletter_task->getAndPreProcess($queue); $newsletter = $this->newsletter_task->getAndPreProcess($queue);
if(!$newsletter) { if(!$newsletter) {
@@ -72,6 +70,8 @@ class SendingQueue {
if($queue->status === SendingQueueModel::STATUS_COMPLETED) { if($queue->status === SendingQueueModel::STATUS_COMPLETED) {
$this->newsletter_task->markNewsletterAsSent($newsletter); $this->newsletter_task->markNewsletterAsSent($newsletter);
} }
// abort if sending limit is reached
MailerLog::enforceSendingLimit();
} }
} }
} }
@@ -118,6 +118,8 @@ class SendingQueue {
$prepared_subscribers_ids = array(); $prepared_subscribers_ids = array();
$statistics = array(); $statistics = array();
} }
// abort if sending limit is reached
MailerLog::enforceSendingLimit();
} }
if($processing_method === 'bulk') { if($processing_method === 'bulk') {
$queue = $this->sendNewsletters( $queue = $this->sendNewsletters(