resque-scheduler が特定のキューでジョブを実行するために resque インスタンスが必要なのか、それとも resque-scheduler がresque:work
タスクを使用することが必須なのか疑問に思っています。
前もって感謝します。
resque-scheduler が特定のキューでジョブを実行するために resque インスタンスが必要なのか、それとも resque-scheduler がresque:work
タスクを使用することが必須なのか疑問に思っています。
前もって感謝します。
はい、次のようなコマンドを使用して、ジョブを処理するために resque ワーカーを実行する必要があります。
QUEUE=* rake resque:work
Resque-scheduler は、実行する時間になるとジョブをキューに入れますが、それ自体は実行しません。そのため、resque-scheduler のインスタンスを 1 つだけ実行し、ジョブに遅れずについていくために必要な数の resque ワーカーを実行します。
Resque Scheduler は基本的にスケジューラです。スケジュール時刻を探し続け、それらを実行する時間になると、resque scheduler.yml で指定された引数を受け取り、scheduler.yml で指定されたキューにジョブをプッシュします。
次に、次によって開始される resque タスクまでです。
QUEUE=* rake resque:work
キューからジョブを選択して操作します。
resque スケジューラをcron job
、指定されたキューにメッセージをプッシュする唯一のタスクと考えてください。処理を開始するのは resque-worker 次第です。