3



スタック設定は次で構成います 。



[program:queue1]
command=php artisan queue:listen --queue=queue1 --tries=2
...

私のlaravelキュー構成ファイル(app/config/queue.php)は次のように読み取ります

'beanstalkd' => array(
    'driver' => 'beanstalkd',
    'host'   => '--- Machine3 IP ---',
    'queue'  => 'queue1',
    'ttr'    => 60,
),

そして、Beanstalk コンソールとともにMachine3 にbeanstalkdをインストールし、タスクがキューにプッシュされ、正常に実行されていることを確認できます。ただし、Machine3が実際にそれらを実行しているかどうかはわかりません。私の疑いの理由は、Machine3の CPU 使用率にスパイクがないのと比較して、メイン サーバーの CPU 使用率が高いことです。

キューがまだ処理されているかどうかを確認するために、beanstalkd サーバーを完全にシャットダウンしました。結果は、laravel によって報告されたエラーであり、beanstalkd サーバーに接続できなかったことを示しています。

Beanstalkd サーバー ( Machine3 ) にもlaravel コードベースを配置する必要があることをどこかで読みましたが、それは本当に正しい方法でしたか?

4

1 に答える 1

3

どのマシンで実行queue:listenしても、キューの実際の処理を行うマシンです。

現時点では、キューをmachine3に保存しているだけですが、それらをmachine1で処理しています。

そのため、キューを処理する場合は、 machine3にコマンドを実行させる必要があります。queue:listen

于 2014-10-20T11:58:21.427 に答える