0

これは私が持っているコードです

class ExampleTask
    extend Resque::Plugins::ExponentialBackoff
    @backoff_strategy = [0, 20, 3600]
    @queue = :example_tasks
    def self.perform
      raise
    end
  end

このタスクをローカルでエンキューするたびに、Resqueがバックオフ戦略を尊重せずにタスクをすぐに再試行するように見えるという問題が発生しています。誰かが以前にこの問題を経験したことがありますか?

4

2 に答える 2

0

1.0.0にアップグレードすると、実際にこの問題が解決します。

于 2012-10-03T04:43:16.390 に答える
0

今後の読者の場合、配列の最初の整数は、@backoff_strategyResque-Retryが最初に再試行する前に待機する時間です。github readmeから:

key: m = minutes, h = hours

              no delay, 1m, 10m,   1h,    3h,    6h
@backoff_strategy = [0, 60, 600, 3600, 10800, 21600]
@retry_delay_multiplicand_min = 1.0
@retry_delay_multiplicand_max = 1.0

The first delay will be 0 seconds, the 2nd will be 60 seconds, etc... Again, tweak to your own needs.
于 2014-11-12T18:08:31.530 に答える