Make Scheduler non-static

[MAILPOET-4252]
This commit is contained in:
David Remer
2022-04-11 14:09:34 +03:00
committed by Veljko V
parent 100ea655ff
commit ca3f8bdc43
23 changed files with 400 additions and 93 deletions

View File

@ -48,6 +48,9 @@ class SendingQueue extends APIEndpoint {
/** @var MailerFactory */
private $mailerFactory;
/** @var Scheduler */
private $scheduler;
public function __construct(
SubscribersFeature $subscribersFeature,
NewslettersRepository $newsletterRepository,
@ -55,7 +58,8 @@ class SendingQueue extends APIEndpoint {
Bridge $bridge,
SubscribersFinder $subscribersFinder,
ScheduledTasksRepository $scheduledTasksRepository,
MailerFactory $mailerFactory
MailerFactory $mailerFactory,
Scheduler $scheduler
) {
$this->subscribersFeature = $subscribersFeature;
$this->subscribersFinder = $subscribersFinder;
@ -64,6 +68,7 @@ class SendingQueue extends APIEndpoint {
$this->sendingQueuesRepository = $sendingQueuesRepository;
$this->scheduledTasksRepository = $scheduledTasksRepository;
$this->mailerFactory = $mailerFactory;
$this->scheduler = $scheduler;
}
public function add($data = []) {
@ -138,7 +143,7 @@ class SendingQueue extends APIEndpoint {
// set queue status
$queue->status = SendingQueueModel::STATUS_SCHEDULED;
$queue->scheduledAt = Scheduler::formatDatetimeString($newsletterEntity->getOptionValue('scheduledAt'));
$queue->scheduledAt = $this->scheduler->formatDatetimeString($newsletterEntity->getOptionValue('scheduledAt'));
} else {
$segments = $newsletterEntity->getSegmentIds();
$taskModel = $queue->task();