0

Rails アプリケーションで resque と resque-scheduler を使用しています。resque-scheduler を使用する際に奇妙な問題に直面しています。「実行」メソッドで終了すると、ジョブの 1 つがキューから削除されません。キューから抜け出すには、明示的に強制終了する必要があります。その後、キュー内の他のジョブが実行を開始します。

Job クラスは次のように単純です。

                    class FooJob
                      @queue = :high_volume

                      def self.perform
                        puts "FooJob#perform:"
                        # some method call
                      end
                    end

resque_schedule.yml には以下が含まれます。

                    add_jobs_from_foo:
                      cron: "15 * * * *"
                      class: FooJob
                      description: "enqueue jobs from Foo"

gem のバージョンに問題がある可能性はありますか? または他の?

4

2 に答える 2

0

この宝石「resque-status」を試してみましょう

ジョブステータスを取得します-

status = Resque::Plugins::Status::Hash.get(job_id)

Resque::Plugins::Status::Hash.get(job_id) オブジェクトは以下を返します:

status.pct_complete #=> 0
status.status #=> 'queued'
status.queued? #=> true
status.working? #=> false
status.time #=> Time object        
status.message #=> "Created at ..."

この宝石を入手して詳細を確認してください: https://github.com/quirkey/resque-status

于 2012-10-04T06:17:12.607 に答える
0

実際にredisを直接見て確認しましたか?performジョブは、実行を開始する前にキューから削除されます。

于 2011-04-05T16:38:17.023 に答える