From c612e9661715fcc66304d323d68083be14b6167e Mon Sep 17 00:00:00 2001 From: hellcat <> Date: Wed, 15 Oct 2025 14:18:20 +0800 Subject: [PATCH] no message --- src/Services/Cron.php | 54 ++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 29 deletions(-) diff --git a/src/Services/Cron.php b/src/Services/Cron.php index 0836aac0d..eda1ee3ff 100755 --- a/src/Services/Cron.php +++ b/src/Services/Cron.php @@ -518,47 +518,43 @@ final class Cron } DB::beginTransaction(); - $email_queues_raw = DB::select('SELECT * FROM email_queue where `type` is NULL LIMIT 1 FOR UPDATE SKIP LOCKED'); + + try { + + $email_queues_raw = DB::select('SELECT * FROM email_queue where `type` is NULL LIMIT 1 FOR UPDATE SKIP LOCKED'); - if (count($email_queues_raw) === 0) { - DB::commit(); - break; - } + if (count($email_queues_raw) === 0) { + DB::commit(); + break; + } - $email_queues = array_map(static function ($value) { - return (array) $value; - }, $email_queues_raw); - $email_queue = $email_queues[0]; - echo '发送邮件至 ' . $email_queue['to_email'] . PHP_EOL; - DB::delete('DELETE FROM email_queue WHERE id = ?', [$email_queue['id']]); + $email_queues = array_map(static function ($value) { + return (array) $value; + }, $email_queues_raw); + $email_queue = $email_queues[0]; + echo '发送邮件至 ' . $email_queue['to_email'] . PHP_EOL; + DB::delete('DELETE FROM email_queue WHERE id = ?', [$email_queue['id']]); - if (Tools::isEmail($email_queue['to_email'])) { - try { + if (Tools::isEmail($email_queue['to_email'])) { -// if (isset($email_queue['type']) && $email_queue['type'] == "bulk") { -// Mail::send_bulk( -// $email_queue['to_email'], -// $email_queue['subject'], -// $email_queue['template'], -// json_decode($email_queue['array']) -// ); -// } else { Mail::send( $email_queue['to_email'], $email_queue['subject'], $email_queue['template'], json_decode($email_queue['array']) ); -// } - - } catch (Exception|ClientExceptionInterface $e) { - echo $e->getMessage(); + + } else { + echo $email_queue['to_email'] . ' 邮箱格式错误,已跳过' . PHP_EOL; } - } else { - echo $email_queue['to_email'] . ' 邮箱格式错误,已跳过' . PHP_EOL; + + DB::commit(); + + } catch (Exception|ClientExceptionInterface $e) { + DB::rollBack(); + echo $e->getMessage(); } - - DB::commit(); + } echo Tools::toDateTime(time()) . ' 邮件队列处理完成' . PHP_EOL;