队列Job Dispatch后丢失

今天处理一个订单支付检测的 Job 发现 dispatch 之后部分 job 没有执行就丢失了。

job::dispatch 日志
队列Job Dispatch后丢失
job::handle 日志
队列Job Dispatch后丢失
执行 6 条 Job 只有三个 Job 执行了
队列Job Dispatch后丢失

queue:work

队列Job Dispatch后丢失

没有 failed job

队列Job Dispatch后丢失

Laravel Framework 8.29.0
求大佬指点为啥呢

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

加个 --tries 参数看看。最大尝试次数
还有 超时的时间--timeout 也加个限制看看。
没有执行,又没有失败,那就应该还是在队列的重试队列中,看下文档 这里

如果在处理任务时抛出异常,则任务将自动释放回队列,以便再次尝试。直到它被尝试的次数达到你的申请允许的最大次数,该任务才将继续被释放。最大尝试次数由 queue:work Artisan 命令上使用的 --tries 开关定义。

3年前 评论
LiamHao (作者) 3年前
osang (楼主) 3年前
osang (楼主) 3年前
osang (楼主) 3年前
LiamHao (作者) 3年前
osang (楼主) 3年前
LiamHao (作者) 3年前
讨论数量: 2

看是否有错误日志,PHP 的 error 日志

3年前 评论
osang (楼主) 3年前
GeorgeKing (作者) 3年前
osang (楼主) 3年前

加个 --tries 参数看看。最大尝试次数
还有 超时的时间--timeout 也加个限制看看。
没有执行,又没有失败,那就应该还是在队列的重试队列中,看下文档 这里

如果在处理任务时抛出异常,则任务将自动释放回队列,以便再次尝试。直到它被尝试的次数达到你的申请允许的最大次数,该任务才将继续被释放。最大尝试次数由 queue:work Artisan 命令上使用的 --tries 开关定义。

3年前 评论
LiamHao (作者) 3年前
osang (楼主) 3年前
osang (楼主) 3年前
osang (楼主) 3年前
LiamHao (作者) 3年前
osang (楼主) 3年前
LiamHao (作者) 3年前