0

CentOS 6 VPS で Laravel 4 + Beanstalk + Supervisor を使用しています。

VPS に Beanstalk と Supervisor の両方をインストールするのはすでに面倒でしたが、私はそれをやり遂げました (これと同じインストールをローカル サーバーの Macbook Pro に行いましたが、そこでは問題なく動作しています)。

Laravel 4 の Queues と Beanstalk を利用して、非同期でメールを送信したいと考えています。基本的にコマンドを実行するスーパーバイザー用の「プログラム」を作成しました

php artisan queue:listen --env=production

しかし、それに関連付けられたプロセスは正常に開始されません。このプロセス用に定義したログは、次のように出力します。

[InvalidArgumentException]
There are no commands defined in the "queue" namespace.

どうやら職人は、まったく気に入らないものを見つけているようです。

お願い、お願い、お願い、手伝ってくれない?私が Google で見つけた唯一の結果は、回答のないgit issue の投稿と、Laravel のフォーラムで回答のない同様に役に立たないスレッドです。

編集: テスト 私がシェルで実行すると Artisan の queue:listen が正常に動作することに気付きましたが、Supervisord がコマンドを実行しようとすると、InvalidArgumentException が発生します。

4

2 に答える 2

2

私の場合、この問題に遭遇した場合の解決策は次のとおりです。

(pip経由で)supervisordバージョン2.1をインストールしました。少なくともバージョン 3.0 が必要でした (「ディレクトリ」設定 (supervisord.conf ファイルで使用される) がバージョン 3.0 で導入されたため)。

そうしなければならなかった

pip uninstall supervisor

それから私はしなければならなかった

pip install supervisor==3.0

その後、必要な構成値を /etc/supervisord.conf に設定するだけで、問題なくartisan実行されました。queue:listen

于 2013-10-03T00:59:26.600 に答える