在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允许脚本作为守护进程运行。
推荐文章
- 确定ActiveRecord对象是否为New
- Rails中的OO设计:在哪里放置东西
- 如何在Heroku上重新启动rails服务器?
- respond_to块如何工作?
- rails局部模板中的可选局部变量:如何退出(defined?foo)混乱?
- Ruby Bundle Symbol not found: _SSLv2_client_method (LoadError)
- rails耙任务是否提供对ActiveRecord模型的访问?
- 无法安装pg gem
- (1) libcurl不支持或禁用https协议
- Destroy和Delete的区别
- 警告:无法验证CSRF令牌真实性轨道
- Docker命令无法连接到Docker守护进程
- 如何从rake任务中提前返回?
- 每周测试一次cron作业
- 如何在Rails中显式指定模型的表名映射?