1

ここに奇妙なものがあります。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

唯一の違いは、プログラムのプロダクションがステージに置き換えられたことです。ただし、スーパーバイザーが実行されると、ステージ プログラムのみが正しく実行されます。実稼働プログラムで FATAL Exited が早すぎると表示される

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.

ここでセットアップに関する技術的な知識を使い果たしました.2つの複製されたセットアップが異なる動作をしている理由を理解できないようです. スーパーバイザーがどこかで動揺していると推測することしかできませんでした-手動で実行することで生産キューを正常に機能させることができるからです。

すべてのヘルプ/アイデアは非常に高く評価されています.

4

1 に答える 1