我找到了一份工作,当工作开始时,在最底层,我希望{1}}同样的工作再次在1小时后运行,但参数不同。
到目前为止我取得的成就:
enqueue
我正在使用resque gem,并通过class SimpleJob
@queue = :normal
def self.perform(start)
puts "Right now, start = #{start}"
start += 12
time = some_request_external_api
self.set(wait: time).perform_later(start)
end
end
运行作业。当然,它会在开始时打印QUEUE=* rake resque:work
,但在此之后,没有任何反应。我怎样才能实现这个功能?
答案 0 :(得分:1)
您可以使用调度程序,例如clockwork
,而不是将作业重新排入其中。
或者,如果您要完成的是针对其他服务的某些事件,可能您可以查看它的文档并查看它是否提供webhook
功能。
只要他们发生任何行动,这些请求就会发送post
次请求。
答案 1 :(得分:0)
听起来您正在寻找设置定期工作的方法。如果是这样,请看一下: