关于laravel未运行队列处理器但是可以分发任务的问题

怎么在没有运行队列处理器的情况下,阻止分发任务到队列呢?现在没有运行队列处理器,但是还是分发任务到队列去排队了,运行队列处理器的时候又会执行这些任务。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 12

把配置 QUEUE_DRIVER 改成 null

8个月前 评论
lddtime 8个月前
biuBoom- (楼主) 8个月前
MR_NOBODY (作者) 8个月前

没玩过,试试给 driver 改成 db?删数据就可以了吧

8个月前 评论
biuBoom- (楼主) 8个月前
php artisan queue:clear

:joy:

8个月前 评论
biuBoom- (楼主) 8个月前
lun1bz (作者) 8个月前

除非你不启动redis 不启动redis就直接报错 不然正常情况下你阻止不了 因为这两个本来是相互独立的 要不然你就只能去改queue:work command文件源码 在里面记录一下pid 和队列名称 用redis做一个hash列表记录这个关系 然后写一个脚本去while循环 检测pid是否活跃 如果不活跃就去hash中去除这个pid 感觉这样处理很麻烦 只是我个人想法

8个月前 评论

不理解为什么要这么做,当 Queue Worker 停止后,如果直接不让分发任务,会导致整个服务不可用。

8个月前 评论

不妨把为什么有这个需求讲一讲

8个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!