即使没有 Supervisor 运行,排队的作业仍在处理

Queued Jobs are still processed even without Supervisor running

这看起来很奇怪。我在我的 linux 服务器 (aws ec2) 上杀死了所有与 supervisord 相关的现有进程,但排队的作业仍在 processed/worked 上。

我通过 ps -fe 检查了进程,但没有找到任何 supervisord 运行 的进程。

谁能告诉我这是怎么回事?提前致谢。

所以总结这个问题,主管负责排队确保在你的 .env 文件中将队列驱动程序设置为 QUEUE_DRIVER=databaseQUEUE_DRIVER=redis

如果queue driver设置为QUEUE_DRIVER=sync那么所有的job都会被一个接一个的处理,supervisor根本不重要,甚至不需要安装。

您可能将队列驱动程序设置为 sync,这会立即 运行 作业而不将它们发送到队列。即使您更新了 .env 文件,旧的配置也可能已被缓存。 运行 php artisan config:clear 以确保应用程序使用正确的队列驱动程序。