每10秒安排一次工作 - 红宝石

时间:2015-01-24 17:14:14

标签: ruby-on-rails ruby cron scheduler sidekiq

我需要一个每10秒运行一次的调度程序机制。 我使用sidekiq,这就是为什么我想使用sidekiq-cron,但最小的时间单位是一分钟。 而且,我一次只需要运行一个作业实例。

这种情况的最佳做法是什么?

顺便说一句,我们使用Rails 4.2,Ruby 2.1.2,Unicorn作为Web服务器和Sidekiq 3。

谢谢

修改 我需要它每10秒运行一次

2 个答案:

答案 0 :(得分:1)

使用在10秒睡眠循环中运行的rake任务。这个rake任务可以创建Sidekiq将立即执行的作业。

Sidekiq本身并不是为解决这个问题而设计的。

答案 1 :(得分:-1)

Sidekiq有调度方法: https://github.com/mperham/sidekiq/wiki/Scheduled-Jobs

所以你可以做到

MyWorker.perform_in(10.seconds)