laravel - Supervisord Fatal (Laravel 4.1 + Beanstalkd) "queue"命名空间中没有定义任何命令

标签 laravel centos supervisord beanstalkd laravel-artisan

这是一个奇怪的。我正在为 Laravel 4.1 队列运行带有 beanstalkd 的 supervisor 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

唯一的区别是在程序中用 stage 替换了 production。但是supervisor运行时,只有stage程序正确执行。生产程序显示 FATAL Exited too quickly

appname-production            FATAL     Exited too quickly (process log may have details)
appname-stage                 RUNNING   pid 6784, uptime 0:32:01

阶段队列工作正常,如 ps aux 所示。此外,在 production 文件夹中运行 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.

我已经用尽了我对这里设置的技术知识 - 我似乎无法推断出为什么两个克隆设置的行为不同。我只能猜测主管在某个地方被搞糊涂了——因为我可以通过手动操作使生产队列正常工作。

非常感谢所有帮助/想法。

最佳答案

终于解决了这个问题,想分享一下。与其他解决方案一样,修复必须与设置 php 的绝对路径有关。但是,还需要通过子进程 conf 中的环境设置 PATH var。我们开始吧:

[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"

希望这对以后的人有帮助!

关于laravel - Supervisord Fatal (Laravel 4.1 + Beanstalkd) "queue"命名空间中没有定义任何命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28093911/

相关文章:

Laravel 回显服务器使用 Redis 和 Queue 抛出异常

python - Gunicorn 在被 supervisord 调用时抛出 OSError 打开文件

supervisord - 如何停止 Supervisord 进程而不终止其控制的程序?

php - Homebrew PHP 似乎没有链接。 - 代客

node.js - 将 Bower 包安装到 Laravel 5.4 应用程序

bash - 在引导时启动具有图形界面的应用程序

ruby-on-rails - 带有扭矩箱和 nginx 的 EC2 错误网关

php - 拉维尔 5 : How to get list of Parameters in Middleware

php - App\Models\必须返回一个关系实例

database - InnoDB : Error: space header page consists of zero bytes in data file ./ibdata1