Refactor markNewsletterAsSent() to use Doctrine instead of Paris
[MAILPOET-4363]
This commit is contained in:
committed by
Aschepikov
parent
a4bb49852d
commit
05664a0c6a
@@ -219,7 +219,7 @@ class SendingQueue {
|
|||||||
);
|
);
|
||||||
$queue->removeSubscribers($subscribersToRemove);
|
$queue->removeSubscribers($subscribersToRemove);
|
||||||
if (!$queue->countToProcess) {
|
if (!$queue->countToProcess) {
|
||||||
$this->newsletterTask->markNewsletterAsSent($newsletter, $queue);
|
$this->newsletterTask->markNewsletterAsSent($newsletterEntity, $queue);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// if there aren't any subscribers to process in batch (e.g. all unsubscribed or were deleted) continue with next batch
|
// if there aren't any subscribers to process in batch (e.g. all unsubscribed or were deleted) continue with next batch
|
||||||
@@ -250,9 +250,9 @@ class SendingQueue {
|
|||||||
'completed newsletter sending',
|
'completed newsletter sending',
|
||||||
['newsletter_id' => $newsletter->id, 'task_id' => $queue->taskId]
|
['newsletter_id' => $newsletter->id, 'task_id' => $queue->taskId]
|
||||||
);
|
);
|
||||||
$this->newsletterTask->markNewsletterAsSent($newsletter, $queue);
|
|
||||||
$newsletter = $this->newslettersRepository->findOneById($newsletter->id);
|
$newsletter = $this->newslettersRepository->findOneById($newsletter->id);
|
||||||
assert($newsletter instanceof NewsletterEntity);
|
assert($newsletter instanceof NewsletterEntity);
|
||||||
|
$this->newsletterTask->markNewsletterAsSent($newsletter, $queue);
|
||||||
$this->statsNotificationsScheduler->schedule($newsletter);
|
$this->statsNotificationsScheduler->schedule($newsletter);
|
||||||
}
|
}
|
||||||
$this->enforceSendingAndExecutionLimits($timer);
|
$this->enforceSendingAndExecutionLimits($timer);
|
||||||
|
@@ -6,6 +6,7 @@ use MailPoet\Cron\Workers\SendingQueue\Tasks\Links as LinksTask;
|
|||||||
use MailPoet\Cron\Workers\SendingQueue\Tasks\Posts as PostsTask;
|
use MailPoet\Cron\Workers\SendingQueue\Tasks\Posts as PostsTask;
|
||||||
use MailPoet\Cron\Workers\SendingQueue\Tasks\Shortcodes as ShortcodesTask;
|
use MailPoet\Cron\Workers\SendingQueue\Tasks\Shortcodes as ShortcodesTask;
|
||||||
use MailPoet\DI\ContainerWrapper;
|
use MailPoet\DI\ContainerWrapper;
|
||||||
|
use MailPoet\Entities\NewsletterEntity;
|
||||||
use MailPoet\Logging\LoggerFactory;
|
use MailPoet\Logging\LoggerFactory;
|
||||||
use MailPoet\Mailer\MailerLog;
|
use MailPoet\Mailer\MailerLog;
|
||||||
use MailPoet\Models\Newsletter as NewsletterModel;
|
use MailPoet\Models\Newsletter as NewsletterModel;
|
||||||
@@ -23,6 +24,7 @@ use MailPoet\Subscribers\SubscribersRepository;
|
|||||||
use MailPoet\Util\Helpers;
|
use MailPoet\Util\Helpers;
|
||||||
use MailPoet\WP\Emoji;
|
use MailPoet\WP\Emoji;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
use MailPoetVendor\Carbon\Carbon;
|
||||||
|
|
||||||
class Newsletter {
|
class Newsletter {
|
||||||
public $trackingEnabled;
|
public $trackingEnabled;
|
||||||
@@ -268,15 +270,16 @@ class Newsletter {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function markNewsletterAsSent($newsletter, $queue) {
|
public function markNewsletterAsSent(NewsletterEntity $newsletter, $queue) {
|
||||||
// if it's a standard or notification history newsletter, update its status
|
// if it's a standard or notification history newsletter, update its status
|
||||||
if (
|
if (
|
||||||
$newsletter->type === NewsletterModel::TYPE_STANDARD ||
|
$newsletter->getType() === NewsletterModel::TYPE_STANDARD ||
|
||||||
$newsletter->type === NewsletterModel::TYPE_NOTIFICATION_HISTORY
|
$newsletter->getType() === NewsletterModel::TYPE_NOTIFICATION_HISTORY
|
||||||
) {
|
) {
|
||||||
$newsletter->status = NewsletterModel::STATUS_SENT;
|
$newsletter->setStatus(NewsletterModel::STATUS_SENT);
|
||||||
$newsletter->sentAt = $queue->processedAt;
|
$newsletter->setSentAt(new Carbon($queue->processedAt));
|
||||||
$newsletter->save();
|
$this->newslettersRepository->persist($newsletter);
|
||||||
|
$this->newslettersRepository->flush();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user