すべての仕事に失敗したRUFUSを再スケジュールするにはどうすればよいですか。

StackOverflow https://stackoverflow.com/questions/9476718

質問

私は定期的に実行されるRUFUS「すべてのジョブ」を持っていますが、それはそれがタスクの実行に失敗することがあるかもしれません。

失敗時には、次のサイクルまで待つのではなく、再試行をすぐに再スケジュールしたいと思います。

class PollProducts

  def initialize()
  end

  def call(job)
    puts "Updating products"

    begin
      # Do something that might fail
      raise if rand(3) == 1
    rescue Exception => e
      puts "Request failed - recheduling: #{e}"
      # job.in("5s") <-- What can I do?
    end
  end
end

scheduler.every '6h', PollProducts.new, :first_in => '5s', :blocking => true
.

これは可能ですか?

役に立ちましたか?

解決

OKこれは私のために働いた:

job.scheduler.in '5s', self
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top