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');
if (count($email_queues_raw) === 0) { try {
DB::commit();
break;
}
$email_queues = array_map(static function ($value) { $email_queues_raw = DB::select('SELECT * FROM email_queue where `type` is NULL LIMIT 1 FOR UPDATE SKIP LOCKED');
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'])) { if (count($email_queues_raw) === 0) {
try { 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']]);
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( 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'])
); );
// }
} catch (Exception|ClientExceptionInterface $e) { } else {
echo $e->getMessage(); 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; echo Tools::toDateTime(time()) . ' 邮件队列处理完成' . PHP_EOL;