Replace multiple subscriber update queries with one in sending loop

[MAILPOET-5178]
This commit is contained in:
alex-mailpoet
2023-06-29 23:19:25 +03:00
committed by Aschepikov
parent 764114edc7
commit 5d88f02216
2 changed files with 19 additions and 6 deletions

View File

@@ -143,12 +143,19 @@ class SendingTest extends \MailPoetTest {
}
public function testItUpdatesProcessedSubscribers() {
$subscriberId = 456;
$taskSubscriber = $this->getTaskSubscriber($this->task->id, $subscriberId);
expect($taskSubscriber->processed)->equals(ScheduledTaskSubscriber::STATUS_UNPROCESSED);
expect($this->sending->count_to_process)->equals(2);
expect($this->sending->count_processed)->equals(0);
$subscriberIds = [456];
$subscriberIds = [$subscriberId];
$this->sending->updateProcessedSubscribers($subscriberIds);
expect($this->sending->count_to_process)->equals(1);
expect($this->sending->count_processed)->equals(1);
$taskSubscriber = $this->getTaskSubscriber($this->task->id, $subscriberId);
expect($taskSubscriber->processed)->equals(ScheduledTaskSubscriber::STATUS_PROCESSED);
}
public function testItGetsScheduledQueues() {
@@ -271,4 +278,8 @@ class SendingTest extends \MailPoetTest {
$sending->scheduledAt = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->subHours(1);
return $sending->save();
}
private function getTaskSubscriber($taskId, $subscriberId) {
return ScheduledTaskSubscriber::where(['task_id' => $taskId, 'subscriber_id' => $subscriberId])->findOne();
}
}