关于laravel未运行队列处理器但是可以分发任务的问题
怎么在没有运行队列处理器的情况下,阻止分发任务到队列呢?现在没有运行队列处理器,但是还是分发任务到队列去排队了,运行队列处理器的时候又会执行这些任务。
把配置 QUEUE_DRIVER 改成 null
没玩过,试试给 driver 改成 db?删数据就可以了吧
:joy:
除非你不启动redis 不启动redis就直接报错 不然正常情况下你阻止不了 因为这两个本来是相互独立的 要不然你就只能去改queue:work command文件源码 在里面记录一下pid 和队列名称 用redis做一个hash列表记录这个关系 然后写一个脚本去while循环 检测pid是否活跃 如果不活跃就去hash中去除这个pid 感觉这样处理很麻烦 只是我个人想法
不理解为什么要这么做,当 Queue Worker 停止后,如果直接不让分发任务,会导致整个服务不可用。
不妨把为什么有这个需求讲一讲