在精确的时间运行Rails作业(精确到秒)

时间:2016-06-28 14:34:55

标签: ruby-on-rails delayed-job sidekiq

我正在制作一个需要以非常精确的时间间隔运行作业的应用程序(例如30秒,最大可接受延迟为+ -1秒)。

我目前正在使用外部Go应用程序来轮询我的应用程序中构建的API端点。

有没有办法可以在工作机器(例如Heroku dyno)上运行任务,延迟时间不到一秒?

我调查了Sidekiq和delayed_job,但两者都有明显的滞后因此不适合我的应用。

1 个答案:

答案 0 :(得分:2)

在您需要运行之前,将作业计划60秒。将您执行作业所需的确切时间作为参数传递。然后,运行sleep直到Time.now == exact_time_down_to_the_second