ruby-on-rails - 如何使用 Sidekiq 每 2 秒发送一次请求?

标签 ruby-on-rails redis sidekiq

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

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

  1. 我想每 2 秒运行一次 worker。我该怎么做?
  2. 可能需要第二个 Worker 来启动第一个 Worker?

最佳答案

我正在使用 Sidetiq 来安排重复出现的后台作业 (https://github.com/tobiassvn/sidetiq)。

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

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

  recurrence { hourly }

  def perform
    #your logic here
  end
end

当然,您应该更改重复计划以反射(reflect)您的偏好。

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

关于ruby-on-rails - 如何使用 Sidekiq 每 2 秒发送一次请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25418911/

相关文章:

ruby-on-rails - 具有混合大小写列名称的小写方法名称

caching - 在redis中,如何根据插入顺序获取键降序排列?

php - 如何使用 redis 驱动程序在 laravel 4.2 中为特定域设置生命周期?

ruby - 使用 jemalloc 调试 sidekiq worker 内存泄漏

javascript - link_to_add 和 link_to_remove - 动态单击它们

ruby-on-rails - ruby 控制台上的奇怪 ssl 错误

redis - 带EX选项的SET和Redis中的SETEX之间的区别?

ruby-on-rails - 连接超时。请就配置向我们提出建议

ruby - Sidekiq 使作业入队,而不是使它们出队

ruby-on-rails - 如何获取用Tire声明索引的类的列表?