Pregunta

Tengo un rufus "cada trabajo" que se ejecuta periódicamente, pero a veces puede dejar de realizar su tarea.

sobre el fracaso, me gustaría reprogramar un reintento pronto en lugar de esperar hasta el próximo ciclo.

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

es esto posible?

¿Fue útil?

Solución

OK, esto funcionó para mí:

job.scheduler.in '5s', self

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top