Save the correct datetime value for newsletter sentAt column
We don't need to use the value from `processedAt` here since we can rightfully use the current datetime value Also, I found out `processedAt` is usually null here for standard newsletters which cause new Carbon to use the server datetime settings MAILPOET-5795
This commit is contained in:
committed by
Aschepikov
parent
639d779088
commit
c76c8f2abb
@ -272,7 +272,7 @@ class SendingQueue {
|
|||||||
);
|
);
|
||||||
$queue->removeSubscribers($subscribersToRemove);
|
$queue->removeSubscribers($subscribersToRemove);
|
||||||
if (!$queue->countToProcess) {
|
if (!$queue->countToProcess) {
|
||||||
$this->newsletterTask->markNewsletterAsSent($newsletterEntity, $queue);
|
$this->newsletterTask->markNewsletterAsSent($newsletterEntity);
|
||||||
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
|
||||||
@ -312,7 +312,7 @@ 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($newsletterEntity, $queue);
|
$this->newsletterTask->markNewsletterAsSent($newsletterEntity);
|
||||||
$this->statsNotificationsScheduler->schedule($newsletterEntity);
|
$this->statsNotificationsScheduler->schedule($newsletterEntity);
|
||||||
}
|
}
|
||||||
$this->enforceSendingAndExecutionLimits($timer);
|
$this->enforceSendingAndExecutionLimits($timer);
|
||||||
|
@ -281,15 +281,14 @@ class Newsletter {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function markNewsletterAsSent(NewsletterEntity $newsletter, Sending $sendingTask) {
|
public function markNewsletterAsSent(NewsletterEntity $newsletter) {
|
||||||
// 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->getType() === NewsletterEntity::TYPE_STANDARD ||
|
$newsletter->getType() === NewsletterEntity::TYPE_STANDARD ||
|
||||||
$newsletter->getType() === NewsletterEntity::TYPE_NOTIFICATION_HISTORY
|
$newsletter->getType() === NewsletterEntity::TYPE_NOTIFICATION_HISTORY
|
||||||
) {
|
) {
|
||||||
$scheduledTask = $sendingTask->task();
|
|
||||||
$newsletter->setStatus(NewsletterEntity::STATUS_SENT);
|
$newsletter->setStatus(NewsletterEntity::STATUS_SENT);
|
||||||
$newsletter->setSentAt(new Carbon($scheduledTask->processedAt));
|
$newsletter->setSentAt(Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp')));
|
||||||
$this->newslettersRepository->persist($newsletter);
|
$this->newslettersRepository->persist($newsletter);
|
||||||
$this->newslettersRepository->flush();
|
$this->newslettersRepository->flush();
|
||||||
}
|
}
|
||||||
|
@ -265,7 +265,7 @@ class NewsletterTest extends \MailPoetTest {
|
|||||||
$newsletter->setStatus('not_sent');
|
$newsletter->setStatus('not_sent');
|
||||||
$this->newslettersRepository->persist($newsletter);
|
$this->newslettersRepository->persist($newsletter);
|
||||||
$this->newslettersRepository->flush();
|
$this->newslettersRepository->flush();
|
||||||
$this->newsletterTask->markNewsletterAsSent($newsletter, $this->sendingTask);
|
$this->newsletterTask->markNewsletterAsSent($newsletter);
|
||||||
$updatedNewsletter = $this->newslettersRepository->findOneById($newsletter->getId());
|
$updatedNewsletter = $this->newslettersRepository->findOneById($newsletter->getId());
|
||||||
$this->assertInstanceOf(NewsletterEntity::class, $updatedNewsletter);
|
$this->assertInstanceOf(NewsletterEntity::class, $updatedNewsletter);
|
||||||
verify($updatedNewsletter->getStatus())->equals(NewsletterEntity::STATUS_SENT);
|
verify($updatedNewsletter->getStatus())->equals(NewsletterEntity::STATUS_SENT);
|
||||||
@ -278,7 +278,7 @@ class NewsletterTest extends \MailPoetTest {
|
|||||||
$newsletter->setStatus('not_sent');
|
$newsletter->setStatus('not_sent');
|
||||||
$this->newslettersRepository->persist($newsletter);
|
$this->newslettersRepository->persist($newsletter);
|
||||||
$this->newslettersRepository->flush();
|
$this->newslettersRepository->flush();
|
||||||
$this->newsletterTask->markNewsletterAsSent($newsletter, $this->sendingTask);
|
$this->newsletterTask->markNewsletterAsSent($newsletter);
|
||||||
$updatedNewsletter = $this->newslettersRepository->findOneById($newsletter->getId());
|
$updatedNewsletter = $this->newslettersRepository->findOneById($newsletter->getId());
|
||||||
$this->assertInstanceOf(NewsletterEntity::class, $updatedNewsletter);
|
$this->assertInstanceOf(NewsletterEntity::class, $updatedNewsletter);
|
||||||
verify($updatedNewsletter->getStatus())->equals(NewsletterEntity::STATUS_SENT);
|
verify($updatedNewsletter->getStatus())->equals(NewsletterEntity::STATUS_SENT);
|
||||||
@ -291,7 +291,7 @@ class NewsletterTest extends \MailPoetTest {
|
|||||||
$newsletter->setStatus('not_sent');
|
$newsletter->setStatus('not_sent');
|
||||||
$this->newslettersRepository->persist($newsletter);
|
$this->newslettersRepository->persist($newsletter);
|
||||||
$this->newslettersRepository->flush();
|
$this->newslettersRepository->flush();
|
||||||
$this->newsletterTask->markNewsletterAsSent($newsletter, $this->sendingTask);
|
$this->newsletterTask->markNewsletterAsSent($newsletter);
|
||||||
$updatedNewsletter = $this->newslettersRepository->findOneById($newsletter->getId());
|
$updatedNewsletter = $this->newslettersRepository->findOneById($newsletter->getId());
|
||||||
$this->assertInstanceOf(NewsletterEntity::class, $updatedNewsletter);
|
$this->assertInstanceOf(NewsletterEntity::class, $updatedNewsletter);
|
||||||
verify($updatedNewsletter->getStatus())->notEquals(NewsletterEntity::STATUS_SENT);
|
verify($updatedNewsletter->getStatus())->notEquals(NewsletterEntity::STATUS_SENT);
|
||||||
|
Reference in New Issue
Block a user