From b42d8e68d9e0e15d19b604b300d75e2b58525be1 Mon Sep 17 00:00:00 2001 From: stoletniy Date: Thu, 20 Jul 2017 11:22:47 +0300 Subject: [PATCH] Rename removeSubscribers() method and encapsulate task completion logic [MAILPOET-987] --- lib/Cron/Workers/SendingQueue/SendingQueue.php | 4 ++-- lib/Models/ScheduledTask.php | 1 + lib/Models/SendingQueue.php | 2 +- lib/Tasks/Subscribers.php | 5 ++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/Cron/Workers/SendingQueue/SendingQueue.php b/lib/Cron/Workers/SendingQueue/SendingQueue.php index 9aafb7ecbd..836f36ade3 100644 --- a/lib/Cron/Workers/SendingQueue/SendingQueue.php +++ b/lib/Cron/Workers/SendingQueue/SendingQueue.php @@ -64,11 +64,11 @@ class SendingQueue { } // if some subscribers weren't found, remove them from the processing list if(count($found_subscribers_ids) !== count($subscribers_to_process_ids)) { - $subscibers_to_remove = array_diff( + $subscribers_to_remove = array_diff( $subscribers_to_process_ids, $found_subscribers_ids ); - $queue->removeNonexistentSubscribers($subscibers_to_remove); + $queue->removeSubscribers($subscribers_to_remove); if(!count($queue->subscribers['to_process'])) { $this->newsletter_task->markNewsletterAsSent($newsletter, $queue); continue; diff --git a/lib/Models/ScheduledTask.php b/lib/Models/ScheduledTask.php index 285151e70b..8b72da6713 100644 --- a/lib/Models/ScheduledTask.php +++ b/lib/Models/ScheduledTask.php @@ -12,6 +12,7 @@ class ScheduledTask extends Model { const PRIORITY_LOW = 10; function complete() { + $this->processed_at = current_time('mysql'); $this->set('status', self::STATUS_COMPLETED); $this->save(); return ($this->getErrors() === false && $this->id() > 0); diff --git a/lib/Models/SendingQueue.php b/lib/Models/SendingQueue.php index 7c5c27d844..6b3207a5b3 100644 --- a/lib/Models/SendingQueue.php +++ b/lib/Models/SendingQueue.php @@ -92,7 +92,7 @@ class SendingQueue extends Model { return $model; } - function removeNonexistentSubscribers($subscribers_to_remove) { + function removeSubscribers($subscribers_to_remove) { $subscribers = $this->getSubscribers(); $subscribers['to_process'] = array_values( array_diff( diff --git a/lib/Tasks/Subscribers.php b/lib/Tasks/Subscribers.php index a4698ecb80..f7782f7fbc 100644 --- a/lib/Tasks/Subscribers.php +++ b/lib/Tasks/Subscribers.php @@ -24,7 +24,7 @@ class Subscribers { return !empty($subscriber); } - function removeNonexistentSubscribers($subscribers_to_remove) { + function removeSubscribers($subscribers_to_remove) { $this->getSubscribers() ->whereIn('subscriber_id', $subscribers_to_remove) ->deleteMany(); @@ -42,8 +42,7 @@ class Subscribers { private function checkCompleted() { if(!ScheduledTaskSubscriber::getUnprocessedCount($this->task->id)) { - $this->task->processed_at = current_time('mysql'); - return $this->task->complete(); + $this->task->complete(); } } }