Supervisor 跑 Laravel 队列问题?

    在使用laravel队列时(当前使用版本5.4),使用Supervisor作进程守护,出现过两个问题,一直没有真正找到原因。
  • 第一个是问题:本地多个项目同时开启Supervisor worker,在当前项目中运行队列任务,结果会映射到另外一个项目中,结果错误的队列也同样插入了这个项目的failed_jobs中;后来在跑当前项目时,我都会 supervisorctl stop 其它项目来解决这个问题。

  • 第二个问题:当个项目,运行队列后正常,当修改代码时,不管是跑php artisan queue:restart 还是 supervisorctl restart 项目 都不能更新到队列;使用php artisan cache:clear 同样无果,只有停止Supervisor并重新运行才能更新到队列中。

    不知道大家又没有遇到同样的问题,或者我的姿势错在哪里?
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 6
  1. supervisor 只是守护进程 跟项目无关吧
  2. 看看你俩项目用的是不同一个库 同一个队列
7年前 评论

如果你使用 redis缓存的话,缓存配置文件 /config/cache.php 中有个 Cache Key Prefix 多个项目一套环境的话 记得要改成不一样的

7年前 评论

1.两个项目如果使用的是同一个 Redis 服务,需要将 config\cache.php 里的 prefix 更改成不同的前缀。

  1. Supervisor 本身的机制就是这样子,如果你想要做到更新代码后同步更新 Supervisor 的话可以考虑使用 Inotify
7年前 评论

@rookie0 项目数据库是都是分开的,队列都是默认队列 php artisan queue:work redis --sleep=3 --tries=3 --daemon

7年前 评论

@coderKong 谢谢,项目间的冲突就是应为这里没有配置

7年前 评论

遇到相同问题2,我差点就崩溃,想想也是要先停了Supervisor重起才有效

6年前 评论

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