在Rails环境中运行计划任务的最佳方法是什么?脚本/跑步吗?耙?我想每隔几分钟运行一次任务。


当前回答

使用Craken(以rake为中心的cron作业)

其他回答

使用Craken(以rake为中心的cron作业)

你可以使用resque和resque- scheduling gem来创建cron,这很容易做到。

https://github.com/resque/resque

https://github.com/resque/resque-scheduler

有意思的是没人提到Sidetiq。 如果你已经在使用Sidekiq,这是一个很好的补充。

Sidetiq提供了一个简单的API,用于为 Sidekiq。

Job看起来是这样的:

class MyWorker
  include Sidekiq::Worker
  include Sidetiq::Schedulable

  recurrence { hourly.minute_of_hour(15, 45) }

  def perform
    # do stuff ...
  end
end

我是资源调度程序的忠实粉丝。您不仅可以重复运行类似cron的任务,还可以在特定时间运行任务。缺点是,它需要一个Redis服务器。

我用了发条宝石,它对我来说工作得很好。还有一个clockwork gem允许脚本作为守护进程运行。