如何使用Sidekiq每2秒发送一次请求?

时间:2014-08-21 05:36:41

标签: ruby-on-rails redis sidekiq

我有工作人员向服务器发送请求并检查存在文件。 现在工人在指定的时间运行:

CheckFileWorker.perform_in(@target_file.check_start_date, @target_file.url)

  1. 我希望每2秒跑步一次。我怎么能这样做?
  2. 可能需要第二个工人才能开始第一个工人?

1 个答案:

答案 0 :(得分:1)

我正在使用Sidetiq来安排定期后台作业(https://github.com/tobiassvn/sidetiq)。

基本上你应该做类似的事情:

class LicenseCheckerWorker
  include Sidekiq::Worker
  include Sidetiq::Schedulable

  recurrence { hourly }

  def perform
    #your logic here
  end
end

当然,您应该更改重复计划以反映您的偏好。

编辑:另一种方法是在#perform逻辑结束时安排另一次运行,延迟2秒。