2016-05-18 11 views
0

私はLaravel Lumen 5.1上でAPIビルドを実行していますが、Begestalkdをドライバとして使用するときにForge Queue Workerが正しく動作するように見えません。同時にキューBeanstalkdは、キュー内のすべてのジョブを同時に実行します。

私はドライバー

Queue Worker setup

を設定するためにフォージUIを使用していると.envドライバ The .env drivers

キューシステム内のすべてのジョブを実行しているようですワーカーを処理せずに手動で実行する場合は正常に動作します。

さらに詳しい情報が必要な場合は、お気軽にお問い合わせください。

答えて

1

メッセージキューの目的は、並列処理を可能にすることです。あなたがより多くの労働者を抱えている場合、それ以上のスレッドは同時に多くのジョブを実行します。

非同期的に達成するためには、それは直観的ではなく、メッセージキューの原則に反します。 1人のワーカーでそれを達成できますが、力とスケーラビリティを活用しないのでお勧めできません。

+0

私の問題を理解しているかどうかはわかりません。私は単一のキューワーカーしか持っていません。キューワーカーは扱うジョブがかなり大きいので目的にあって、サーバを過負荷にしたくありません。問題は、次のジョブが開始される前に、各ジョブが終了するのを待つのではなく、同時にすべてのジョブを実行していることです。 – JohnSchmidt

+0

あなたの仕事に設定したTTR(解決する時間)は?デフォルトは通常60秒です。ワーカーが終了しない場合、Beanstalkdサーバーは同じ作業を別のワーカーのインスタンスに与えます。 – Pentium10

関連する問題