diff --git a/mailpoet/lib/Cron/Workers/Scheduler.php b/mailpoet/lib/Cron/Workers/Scheduler.php index c8452cb798..1714ff05fa 100644 --- a/mailpoet/lib/Cron/Workers/Scheduler.php +++ b/mailpoet/lib/Cron/Workers/Scheduler.php @@ -11,7 +11,6 @@ use MailPoet\Entities\SegmentEntity; use MailPoet\InvalidStateException; use MailPoet\Logging\LoggerFactory; use MailPoet\Models\Newsletter; -use MailPoet\Models\ScheduledTask; use MailPoet\Models\Subscriber; use MailPoet\Models\SubscriberSegment; use MailPoet\Newsletter\NewslettersRepository; @@ -367,7 +366,7 @@ class Scheduler { $ids = array_map(function ($queue) { return $queue->taskId; }, $scheduledQueues); - ScheduledTask::touchAllByIds($ids); + $this->scheduledTasksRepository->touchAllByIds($ids); } public static function getScheduledQueues() { diff --git a/mailpoet/lib/Cron/Workers/SendingQueue/SendingQueue.php b/mailpoet/lib/Cron/Workers/SendingQueue/SendingQueue.php index 8971d6e8de..e109a7db12 100644 --- a/mailpoet/lib/Cron/Workers/SendingQueue/SendingQueue.php +++ b/mailpoet/lib/Cron/Workers/SendingQueue/SendingQueue.php @@ -134,7 +134,7 @@ class SendingQueue { $this->startProgress($task); try { - ScheduledTaskModel::touchAllByIds([$taskEntity->getId()]); + $this->scheduledTasksRepository->touchAllByIds([$queue->taskId]); $this->processSending($queue, (int)$timer); } catch (\Exception $e) { $this->stopProgress($task); diff --git a/mailpoet/tests/integration/Cron/Workers/SchedulerTest.php b/mailpoet/tests/integration/Cron/Workers/SchedulerTest.php index dca776e56d..9e24463ce0 100644 --- a/mailpoet/tests/integration/Cron/Workers/SchedulerTest.php +++ b/mailpoet/tests/integration/Cron/Workers/SchedulerTest.php @@ -617,6 +617,7 @@ class SchedulerTest extends \MailPoetTest { $scheduler = Stub::make(Scheduler::class, [ 'processWelcomeNewsletter' => Expected::exactly(1), 'cronHelper' => $this->cronHelper, + 'scheduledTasksRepository' => $this->scheduledTasksRepository, ], $this); $scheduler->process(); } @@ -629,6 +630,7 @@ class SchedulerTest extends \MailPoetTest { $scheduler = Stub::make(Scheduler::class, [ 'processPostNotificationNewsletter' => Expected::exactly(1), 'cronHelper' => $this->cronHelper, + 'scheduledTasksRepository' => $this->scheduledTasksRepository, ], $this); $scheduler->process(); } @@ -641,6 +643,7 @@ class SchedulerTest extends \MailPoetTest { $scheduler = Stub::make(Scheduler::class, [ 'processScheduledStandardNewsletter' => Expected::exactly(1), 'cronHelper' => $this->cronHelper, + 'scheduledTasksRepository' => $this->scheduledTasksRepository, ], $this); $scheduler->process(); } @@ -655,6 +658,7 @@ class SchedulerTest extends \MailPoetTest { 'cronHelper' => $this->make(CronHelper::class, [ 'enforceExecutionLimit' => Expected::exactly(2), // call at start + during processing ]), + 'scheduledTasksRepository' => $this->scheduledTasksRepository, ], $this); $scheduler->process(); } @@ -668,6 +672,7 @@ class SchedulerTest extends \MailPoetTest { $scheduler = Stub::make(Scheduler::class, [ 'processScheduledStandardNewsletter' => Expected::never(), 'cronHelper' => $this->cronHelper, + 'scheduledTasksRepository' => $this->scheduledTasksRepository, ], $this); // scheduled job is not processed $scheduler->process(); @@ -682,6 +687,7 @@ class SchedulerTest extends \MailPoetTest { $scheduler = Stub::make(Scheduler::class, [ 'processScheduledStandardNewsletter' => Expected::once(), 'cronHelper' => $this->cronHelper, + 'scheduledTasksRepository' => $this->scheduledTasksRepository, ], $this); // scheduled job is processed $scheduler->process(); @@ -712,6 +718,7 @@ class SchedulerTest extends \MailPoetTest { $scheduler = Stub::make(Scheduler::class, [ 'processScheduledStandardNewsletter' => Expected::once(), 'cronHelper' => $this->cronHelper, + 'scheduledTasksRepository' => $this->scheduledTasksRepository, ], $this); // scheduled job is processed $scheduler->process();