From 1c524830fb53a40ef9ba8ca3a66fb6eecdf9ad1d Mon Sep 17 00:00:00 2001 From: Edmund Kawalec Date: Tue, 8 Nov 2022 14:03:08 +0100 Subject: [PATCH] queue brakes if error occured Fix contain "try & catch" with error log instead of "if" condition --- MailQueue.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/MailQueue.php b/MailQueue.php index ee8c301..bba01d1 100644 --- a/MailQueue.php +++ b/MailQueue.php @@ -101,13 +101,14 @@ public function process() foreach ($items->each() as $item) { if ($message = $item->toMessage()) { $attributes = ['attempts', 'last_attempt_time']; - if ($this->send($message)) { - $item->sent_time = new \yii\db\Expression('NOW()'); - $attributes[] = 'sent_time'; - } else { - $success = false; + try { + $this->send($message); + $item->sent_time = new \yii\db\Expression('NOW()'); + $attributes[] = 'sent_time'; + } catch (\Swift_IoException $exception) { + Yii::error($exception->getMessage(), 'nterms/yii2-mailqueue'); + $success = false; } - $item->attempts++; $item->last_attempt_time = new \yii\db\Expression('NOW()');