diff --git a/mailpoet/lib/Cron/Workers/SendingQueue/SendingQueue.php b/mailpoet/lib/Cron/Workers/SendingQueue/SendingQueue.php index 614ea3cc9b..b31f01ed61 100644 --- a/mailpoet/lib/Cron/Workers/SendingQueue/SendingQueue.php +++ b/mailpoet/lib/Cron/Workers/SendingQueue/SendingQueue.php @@ -387,9 +387,7 @@ class SendingQueue { $error = $sendResult['error']; assert($error instanceof MailerError); $this->errorHandler->processError($error, $sendingTask, $preparedSubscribersIds, $preparedSubscribers); - } - // update processed/to process list - if (!$sendingTask->updateProcessedSubscribers($preparedSubscribersIds)) { + } elseif (!$sendingTask->updateProcessedSubscribers($preparedSubscribersIds)) { // update processed/to process list MailerLog::processError( 'processed_list_update', sprintf('QUEUE-%d-PROCESSED-LIST-UPDATE', $sendingTask->id), diff --git a/mailpoet/lib/Tasks/Subscribers.php b/mailpoet/lib/Tasks/Subscribers.php index e9fe03c4bf..5dde246227 100644 --- a/mailpoet/lib/Tasks/Subscribers.php +++ b/mailpoet/lib/Tasks/Subscribers.php @@ -51,8 +51,10 @@ class Subscribers { ->where('subscriber_id', $subcriberId) ->findResultSet() ->set('failed', ScheduledTaskSubscriber::FAIL_STATUS_FAILED) + ->set('processed', ScheduledTaskSubscriber::STATUS_PROCESSED) ->set('error', $errorMessage) ->save(); + $this->checkCompleted(); } private function checkCompleted($count = null) {