Change SimpleWorker::prepareTaskStrategy() to use Doctrine

This commit changes the method prepareTaskStrategy() in the class
SimpleWorker and all its child classes to use ScheduledTaskEntity
instead of ScheduledTask.

[MAILPOET-2996]
This commit is contained in:
Rodrigo Primo
2021-09-28 16:12:59 -03:00
committed by Veljko V
parent 7d87b042e8
commit 57c80ea763
9 changed files with 90 additions and 63 deletions

View File

@@ -3,6 +3,7 @@
namespace MailPoet\Cron\Workers\SendingQueue;
use MailPoet\Cron\Workers\SimpleWorker;
use MailPoet\Entities\ScheduledTaskEntity;
use MailPoet\Mailer\MailerLog;
use MailPoet\Models\ScheduledTask;
use MailPoet\Models\ScheduledTaskSubscriber;
@@ -20,7 +21,7 @@ class Migration extends SimpleWorker {
return empty($completedTasks);
}
public function prepareTaskStrategy(ScheduledTask $task, $timer) {
public function prepareTaskStrategy(ScheduledTaskEntity $task, $timer) {
$unmigratedColumns = $this->checkUnmigratedColumnsExist();
$unmigratedQueuesCount = 0;
$unmigratedQueueSubscribers = [];
@@ -35,9 +36,10 @@ class Migration extends SimpleWorker {
&& count($unmigratedQueueSubscribers) == 0)
) {
// nothing to migrate, complete task
$task->processedAt = WPFunctions::get()->currentTime('mysql');
$task->status = ScheduledTask::STATUS_COMPLETED;
$task->save();
$task->setProcessedAt(Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp')));
$task->setStatus(ScheduledTask::STATUS_COMPLETED);
$this->scheduledTasksRepository->persist($task);
$this->scheduledTasksRepository->flush();
$this->resumeSending();
return false;
}