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:
Oluwaseun Olorunsola
2023-12-21 13:28:31 +01:00
committed by Aschepikov
parent 832ffc1568
commit 639d779088
3 changed files with 4 additions and 3 deletions

View File

@@ -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();
}
}