当调试队列的时候,可以直接运行php artisan queue:work命令,实时处理队列中的任务;但我们一般会安装Supervisor进程监控软件来实时监控队列;有时候会忘记关闭php artisan queue:work命令,而同时运行Supervisor来监控队列任务时,就会出现以下问题:

  • 当修改代码后,发现队列执行的代码未改变。
  • 重新加载Supervisor配置后,队列任务并未更新,或者部分代码生效,部分代码没有生效的情况。

出现上述的问题是因为php artisan queue:work命令还在进程中监控着队列的任务,而Supervisor也在监控队列;运行ps aux|grep php命令,可以看到php artisan queue:work还在运行中,执行kill -9 pid命令,pid对应进程id,杀死队列进程即可。
还有一个需要注意的地方,Supervisor运行的用户最好要跟项目的文件用户组相同,不然也会导致其他权限问题。

最后更新: 2017年12月29日 21:14

原始链接: http://blog.minhow.com/articles/laravel/use-queue-attention/

× 请我吃糖~
打赏二维码