Rewrite Scheduler::processPostNotificationNewsletter() using Doctrine
[MAILPOET-4375]
This commit is contained in:
@@ -205,4 +205,20 @@ class SendingQueuesRepository extends Repository {
|
||||
$queue->setMeta($meta);
|
||||
$this->flush();
|
||||
}
|
||||
|
||||
public function updateCounts(SendingQueueEntity $queue, ?int $count = null): void {
|
||||
if ($count) {
|
||||
// increment/decrement counts based on known subscriber count, don't exceed the bounds
|
||||
$queue->setCountProcessed(min($queue->getCountProcessed() + $count, $queue->getCountTotal()));
|
||||
$queue->setCountToProcess(max($queue->getCountToProcess() - $count, 0));
|
||||
} else {
|
||||
// query DB to update counts, slower but more accurate, to be used if count isn't known
|
||||
$task = $queue->getTask();
|
||||
$processed = $task ? $this->scheduledTaskSubscribersRepository->countProcessed($task) : 0;
|
||||
$unprocessed = $task ? $this->scheduledTaskSubscribersRepository->countUnprocessed($task) : 0;
|
||||
$queue->setCountProcessed($processed);
|
||||
$queue->setCountToProcess($unprocessed);
|
||||
$queue->setCountTotal($processed + $unprocessed);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user