Remove remaining usages of MailPoet\Task\Sending from SendingQueue::processSending()
[MAILPOET-5682]
This commit is contained in:
@@ -16,7 +16,6 @@ use MailPoet\Logging\LoggerFactory;
|
|||||||
use MailPoet\Mailer\MailerLog;
|
use MailPoet\Mailer\MailerLog;
|
||||||
use MailPoet\Mailer\MetaInfo;
|
use MailPoet\Mailer\MetaInfo;
|
||||||
use MailPoet\Models\Newsletter;
|
use MailPoet\Models\Newsletter;
|
||||||
use MailPoet\Models\ScheduledTask;
|
|
||||||
use MailPoet\Models\StatisticsNewsletters as StatisticsNewslettersModel;
|
use MailPoet\Models\StatisticsNewsletters as StatisticsNewslettersModel;
|
||||||
use MailPoet\Models\Subscriber as SubscriberModel;
|
use MailPoet\Models\Subscriber as SubscriberModel;
|
||||||
use MailPoet\Newsletter\NewslettersRepository;
|
use MailPoet\Newsletter\NewslettersRepository;
|
||||||
@@ -26,7 +25,6 @@ use MailPoet\Newsletter\Sending\SendingQueuesRepository;
|
|||||||
use MailPoet\Segments\SegmentsRepository;
|
use MailPoet\Segments\SegmentsRepository;
|
||||||
use MailPoet\Segments\SubscribersFinder;
|
use MailPoet\Segments\SubscribersFinder;
|
||||||
use MailPoet\Subscribers\SubscribersRepository;
|
use MailPoet\Subscribers\SubscribersRepository;
|
||||||
use MailPoet\Tasks\Sending as SendingTask;
|
|
||||||
use MailPoet\Tasks\Subscribers\BatchIterator;
|
use MailPoet\Tasks\Subscribers\BatchIterator;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
use MailPoetVendor\Carbon\Carbon;
|
use MailPoetVendor\Carbon\Carbon;
|
||||||
@@ -164,12 +162,6 @@ class SendingQueue {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private function processSending(ScheduledTaskEntity $task, int $timer): void {
|
private function processSending(ScheduledTaskEntity $task, int $timer): void {
|
||||||
$legacyTask = ScheduledTask::findOne($task->getId());
|
|
||||||
$legacyQueue = $legacyTask ? SendingTask::createFromScheduledTask($legacyTask) : null;
|
|
||||||
if (!$legacyQueue) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->loggerFactory->getLogger(LoggerFactory::TOPIC_NEWSLETTERS)->info(
|
$this->loggerFactory->getLogger(LoggerFactory::TOPIC_NEWSLETTERS)->info(
|
||||||
'sending queue processing',
|
'sending queue processing',
|
||||||
['task_id' => $task->getId()]
|
['task_id' => $task->getId()]
|
||||||
@@ -177,8 +169,9 @@ class SendingQueue {
|
|||||||
|
|
||||||
$this->deleteTaskIfNewsletterDoesNotExist($task);
|
$this->deleteTaskIfNewsletterDoesNotExist($task);
|
||||||
|
|
||||||
|
$queue = $task->getSendingQueue();
|
||||||
$newsletterEntity = $this->newsletterTask->getNewsletterFromQueue($task);
|
$newsletterEntity = $this->newsletterTask->getNewsletterFromQueue($task);
|
||||||
if (!$newsletterEntity) {
|
if (!$queue || !$newsletterEntity) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -220,8 +213,8 @@ class SendingQueue {
|
|||||||
'pause task in sending queue due deleted or trashed segment',
|
'pause task in sending queue due deleted or trashed segment',
|
||||||
['task_id' => $task->getId()]
|
['task_id' => $task->getId()]
|
||||||
);
|
);
|
||||||
$legacyQueue->status = ScheduledTaskEntity::STATUS_PAUSED;
|
$task->setStatus(ScheduledTaskEntity::STATUS_PAUSED);
|
||||||
$legacyQueue->save();
|
$this->scheduledTasksRepository->flush();
|
||||||
$this->wp->setTransient(self::EMAIL_WITH_INVALID_SEGMENT_OPTION, $newsletter->subject);
|
$this->wp->setTransient(self::EMAIL_WITH_INVALID_SEGMENT_OPTION, $newsletter->subject);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -251,8 +244,8 @@ class SendingQueue {
|
|||||||
'paused task in sending queue due to problem finding subscribers: ' . $exception->getMessage(),
|
'paused task in sending queue due to problem finding subscribers: ' . $exception->getMessage(),
|
||||||
['task_id' => $task->getId()]
|
['task_id' => $task->getId()]
|
||||||
);
|
);
|
||||||
$legacyQueue->status = ScheduledTaskEntity::STATUS_PAUSED;
|
$task->setStatus(ScheduledTaskEntity::STATUS_PAUSED);
|
||||||
$legacyQueue->save();
|
$this->scheduledTasksRepository->flush();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$foundSubscribers = empty($foundSubscribersIds) ? [] : SubscriberModel::whereIn('id', $foundSubscribersIds)
|
$foundSubscribers = empty($foundSubscribersIds) ? [] : SubscriberModel::whereIn('id', $foundSubscribersIds)
|
||||||
@@ -277,8 +270,10 @@ class SendingQueue {
|
|||||||
$foundSubscribersIds
|
$foundSubscribersIds
|
||||||
);
|
);
|
||||||
|
|
||||||
$legacyQueue->removeSubscribers($subscribersToRemove);
|
$this->scheduledTaskSubscribersRepository->deleteByScheduledTaskAndSubscriberIds($task, $subscribersToRemove);
|
||||||
if (!$legacyQueue->countToProcess) {
|
$this->sendingQueuesRepository->updateCounts($queue);
|
||||||
|
|
||||||
|
if (!$queue->getCountToProcess()) {
|
||||||
$this->newsletterTask->markNewsletterAsSent($newsletterEntity);
|
$this->newsletterTask->markNewsletterAsSent($newsletterEntity);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -314,7 +309,7 @@ class SendingQueue {
|
|||||||
'after queue chunk processing',
|
'after queue chunk processing',
|
||||||
['newsletter_id' => $newsletter->id, 'task_id' => $task->getId()]
|
['newsletter_id' => $newsletter->id, 'task_id' => $task->getId()]
|
||||||
);
|
);
|
||||||
if ($legacyQueue->status === ScheduledTaskEntity::STATUS_COMPLETED) {
|
if ($task->getStatus() === ScheduledTaskEntity::STATUS_COMPLETED) {
|
||||||
$this->loggerFactory->getLogger(LoggerFactory::TOPIC_NEWSLETTERS)->info(
|
$this->loggerFactory->getLogger(LoggerFactory::TOPIC_NEWSLETTERS)->info(
|
||||||
'completed newsletter sending',
|
'completed newsletter sending',
|
||||||
['newsletter_id' => $newsletter->id, 'task_id' => $task->getId()]
|
['newsletter_id' => $newsletter->id, 'task_id' => $task->getId()]
|
||||||
@@ -324,7 +319,7 @@ class SendingQueue {
|
|||||||
}
|
}
|
||||||
$this->enforceSendingAndExecutionLimits($timer);
|
$this->enforceSendingAndExecutionLimits($timer);
|
||||||
} else {
|
} else {
|
||||||
$this->sendingQueuesRepository->pause($legacyQueue->getSendingQueueEntity());
|
$this->sendingQueuesRepository->pause($queue);
|
||||||
$this->loggerFactory->getLogger(LoggerFactory::TOPIC_NEWSLETTERS)->error(
|
$this->loggerFactory->getLogger(LoggerFactory::TOPIC_NEWSLETTERS)->error(
|
||||||
'Can\'t send corrupt newsletter',
|
'Can\'t send corrupt newsletter',
|
||||||
['newsletter_id' => $newsletter->id, 'task_id' => $task->getId()]
|
['newsletter_id' => $newsletter->id, 'task_id' => $task->getId()]
|
||||||
|
@@ -265,13 +265,6 @@ class Sending {
|
|||||||
$this->updateCount();
|
$this->updateCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function removeSubscribers(array $subscriberIds) {
|
|
||||||
$this->scheduledTaskSubscribersRepository->deleteByScheduledTaskAndSubscriberIds($this->scheduledTaskEntity, $subscriberIds);
|
|
||||||
|
|
||||||
$this->updateTaskStatus();
|
|
||||||
$this->updateCount();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function updateProcessedSubscribers(array $processedSubscribers): bool {
|
public function updateProcessedSubscribers(array $processedSubscribers): bool {
|
||||||
$this->scheduledTaskSubscribersRepository->updateProcessedSubscribers($this->scheduledTaskEntity, $processedSubscribers);
|
$this->scheduledTaskSubscribersRepository->updateProcessedSubscribers($this->scheduledTaskEntity, $processedSubscribers);
|
||||||
$this->scheduledTasksRepository->refresh($this->scheduledTaskEntity); // needed while Sending still uses Paris
|
$this->scheduledTasksRepository->refresh($this->scheduledTaskEntity); // needed while Sending still uses Paris
|
||||||
|
Reference in New Issue
Block a user