【发布时间】:2023-04-07 04:11:01
【问题描述】:
我有工作人员向服务器发送请求并检查是否存在文件。 现在worker在指定时间运行:
CheckFileWorker.perform_in(@target_file.check_start_date, @target_file.url)
- 我希望每 2 秒运行一次 worker。我该怎么做?
- 可能需要第二个工人来启动第一个工人?
【问题讨论】:
标签: ruby-on-rails redis sidekiq
我有工作人员向服务器发送请求并检查是否存在文件。 现在worker在指定时间运行:
CheckFileWorker.perform_in(@target_file.check_start_date, @target_file.url)
【问题讨论】:
标签: ruby-on-rails redis sidekiq
我正在使用 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 秒。
【讨论】: