这是一个奇怪的。我正在使用beanstalkd为Laravel 4.1队列运行主管3.13。我的app的/ stage /和/ production /实例正在运行。我正在运行管理员程序来运行工匠队列:监听(从单独的.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
唯一的区别是在计划中用阶段替换生产。但是,当主管运行时,只有阶段程序正确执行。制作节目显示FATAL退出太快
appname-production FATAL Exited too quickly (process log may have details)
appname-stage RUNNING pid 6784, uptime 0:32:01
舞台队列工作正常,如ps aux所示。此外,运行工匠队列:在生产文件夹中监听工作正常。然而,当我检查生产的监督日志时,它充满了:
X-Powered-By: PHP/5.5.20
Content-type: text/html
[InvalidArgumentException]
There are no commands defined in the "queue" namespace.
我已经用尽了我对这里设置的技术知识 - 我似乎无法推断为什么两个克隆设置的行为不同。我只能猜到主管在某个地方变得困惑 - 因为我可以通过手动操作让生产队列正常工作。
非常感谢所有的帮助/想法。
答案 0 :(得分:3)
最后修好了这个并想分享。像其他解决方案一样,修复程序与设置php的绝对路径有关。但是,PATH var也需要通过子进程conf中的环境进行设置。我们走了:
[program:appname]
command=/usr/local/bin/php artisan queue:listen --env=production
directory=/home/appdir
stdout_logfile=/home/appdir/app/storage/logs/supervisord.log
redirect_stderr=true
autostart=true
autorestart=true
environment=PATH="/usr/local/bin"
希望这可以帮助将来的某个人!