这是一个奇怪的。我正在为 Laravel 4.1 队列运行带有 beanstalkd 的主管 3.13。我有一个 /stage/ 和 /production/ 我的应用程序正在运行的实例。我正在运行主管程序来运行 artisan queue:listen(在单独的 .conf 文件中),如下所示:
[program:appname-production]
command=php artisan queue:listen --env=production
directory=/home/servername/public_html/production
stdout_logfile=/home/servername/public_html/production/app/storage/logs/supervisord.log
redirect_stderr=true
autostart=true
autorestart=true
唯一的区别是在程序中用阶段替换生产。但是,当supervisor运行时,只有stage程序正确执行。生产程序显示 FATAL Exited too faster
appname-production FATAL Exited too quickly (process log may have details)
appname-stage RUNNING pid 6784, uptime 0:32:01
舞台队列工作正常,如 ps aux 所示。此外,在生产文件夹中运行 artisan queue:listen 可以正常工作。然而,当我检查生产的 supervisord 日志时,它充满了:
X-Powered-By: PHP/5.5.20
Content-type: text/html
[InvalidArgumentException]
There are no commands defined in the "queue" namespace.
我已经在这里用尽了我对设置的技术知识 - 我似乎无法解释为什么两个克隆设置的行为不同。我只能猜测主管在某个地方感到困惑——因为我可以通过手动操作让生产队列正常工作。
非常感谢所有帮助/想法。