pushNotice($data); // 邮件消息 if (isset($data['email']) && $data['email'] === 1) { $emails = $service->getUserEmailsById($data['recipient']); foreach ($emails as $email) { if (empty($email)) { continue; } \app\common\utils\email\MailSend::send($email, $data['title'], $data['content']); } } return true; } catch (\Throwable $th) { flg("消息推送异常:".$th->getFile()."|".$th->getLine()."|".$th->getMessage()); throw new BusinessException($th->getFile()."|".$th->getLine()."|".$th->getMessage()); } } // 消费失败回调 /* $package = [ 'id' => 1357277951, // 消息ID 'time' => 1709170510, // 消息时间 'delay' => 0, // 延迟时间 'attempts' => 2, // 消费次数 'queue' => 'send-mail', // 队列名 'data' => ['to' => 'tom@gmail.com', 'content' => 'hello'], // 消息内容 'max_attempts' => 5, // 最大重试次数 'error' => '错误信息' // 错误信息 ] */ public function onConsumeFailure(\Throwable $e, $package) { echo "consume failure\n"; echo $e->getMessage() . "\n"; // 无需反序列化 var_export($package); } }