Unify ProcessedAt timezone
Fix a problem in the codebase where we create, schedule and update newsletters in the user time zone, but we set the ProcessedAt with another timezone Also, `Carbon::createFromTimestamp($this->wp->currentTime('mysql'))` is not a valid date. It would return date: '1970-01-01 00:35:29.000000' MAILPOET-5795
This commit is contained in:
committed by
Aschepikov
parent
832ffc1568
commit
639d779088
@@ -182,7 +182,7 @@ class Worker {
|
||||
|
||||
private function markTaskAsFinished(ScheduledTaskEntity $task) {
|
||||
$task->setStatus(ScheduledTaskEntity::STATUS_COMPLETED);
|
||||
$task->setProcessedAt(new Carbon);
|
||||
$task->setProcessedAt(Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp')));
|
||||
$task->setScheduledAt(null);
|
||||
$this->entityManager->flush();
|
||||
}
|
||||
|
@@ -7,6 +7,7 @@ use MailPoet\Entities\ScheduledTaskEntity;
|
||||
use MailPoet\Entities\ScheduledTaskSubscriberEntity;
|
||||
use MailPoet\Entities\SubscriberEntity;
|
||||
use MailPoet\InvalidStateException;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\ORM\QueryBuilder;
|
||||
@@ -186,7 +187,7 @@ class ScheduledTaskSubscribersRepository extends Repository {
|
||||
$count = $this->countUnprocessed($task);
|
||||
if ($count === 0) {
|
||||
$task->setStatus(ScheduledTaskEntity::STATUS_COMPLETED);
|
||||
$task->setProcessedAt(new Carbon());
|
||||
$task->setProcessedAt(Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp')));
|
||||
$this->entityManager->flush();
|
||||
}
|
||||
}
|
||||
|
@@ -138,7 +138,7 @@ class SendingQueuesRepository extends Repository {
|
||||
if (!$task instanceof ScheduledTaskEntity) return;
|
||||
|
||||
if ($queue->getCountProcessed() === $queue->getCountTotal()) {
|
||||
$processedAt = Carbon::createFromTimestamp($this->wp->currentTime('mysql'));
|
||||
$processedAt = Carbon::createFromTimestamp($this->wp->currentTime('timestamp'));
|
||||
$task->setProcessedAt($processedAt);
|
||||
$task->setStatus(ScheduledTaskEntity::STATUS_COMPLETED);
|
||||
// Update also status of newsletter if necessary
|
||||
|
Reference in New Issue
Block a user