Как я могу перенести неудачный 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
.

Это возможно?

Это было полезно?

Решение

Хорошо, это работало для меня:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top