no message

This commit is contained in:
hellcat 2025-10-15 14:18:20 +08:00
parent 9d0c32cdfd
commit c612e96617

View File

@ -518,47 +518,43 @@ final class Cron
} }
DB::beginTransaction(); 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) { if (count($email_queues_raw) === 0) {
DB::commit(); DB::commit();
break; break;
} }
$email_queues = array_map(static function ($value) { $email_queues = array_map(static function ($value) {
return (array) $value; return (array) $value;
}, $email_queues_raw); }, $email_queues_raw);
$email_queue = $email_queues[0]; $email_queue = $email_queues[0];
echo '发送邮件至 ' . $email_queue['to_email'] . PHP_EOL; echo '发送邮件至 ' . $email_queue['to_email'] . PHP_EOL;
DB::delete('DELETE FROM email_queue WHERE id = ?', [$email_queue['id']]); DB::delete('DELETE FROM email_queue WHERE id = ?', [$email_queue['id']]);
if (Tools::isEmail($email_queue['to_email'])) { if (Tools::isEmail($email_queue['to_email'])) {
try {
// 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( Mail::send(
$email_queue['to_email'], $email_queue['to_email'],
$email_queue['subject'], $email_queue['subject'],
$email_queue['template'], $email_queue['template'],
json_decode($email_queue['array']) json_decode($email_queue['array'])
); );
// }
} else {
} catch (Exception|ClientExceptionInterface $e) { echo $email_queue['to_email'] . ' 邮箱格式错误,已跳过' . PHP_EOL;
echo $e->getMessage();
} }
} 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; echo Tools::toDateTime(time()) . ' 邮件队列处理完成' . PHP_EOL;