论坛首页 编程语言技术论坛

简简单单在rails中做定时任务

浏览 12558 次
精华帖 (0) :: 良好帖 (6) :: 新手帖 (16) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-07-29  
选插件的话就delayed-job吧
0 请登录后投票
   发表时间:2009-08-03  
我们现在是用  crond + rake,用下来还不错的。
0 请登录后投票
   发表时间:2009-08-04  
cron + rake是王道

再复杂的都可以写在rake里面。和shell无关
0 请登录后投票
   发表时间:2009-08-12  
saberma 写道
本来是用whenever挺好的
现在项目要在window下跑定时任务:(

script/runner
rails 原装产品,跨平台
0 请登录后投票
   发表时间:2009-08-20  
火星叔叔马丁 写道
刑天战士 写道
有了crontab,为啥要用这个?


老刑死脑筋了 ruby提倡的不就是yet another way
话说有老婆的人 就不能去cj看showgirl了?


我笑喷了。。。
0 请登录后投票
   发表时间:2009-08-20  
如果是任务中涉及到 数据库层面的,我们是直接cron+存储过程 的。
0 请登录后投票
   发表时间:2009-11-19  
这个有这个问题啊,如果后端是多个mongrel进程,那么多造成多个同时执行的重复任务呢
0 请登录后投票
   发表时间:2009-11-24   最后修改:2009-11-24
机器人 写道
这个有这个问题啊,如果后端是多个mongrel进程,那么多造成多个同时执行的重复任务呢

是的,我就遇到这个问题了... 这两天忙其他项目,还没时间去管呢。 机器人同学也遇到了?
0 请登录后投票
   发表时间:2010-01-07  
这样的话,如果启动多个项目实例就会有多个运行定时任务,这样怎么解决?
0 请登录后投票
   发表时间:2010-01-07   最后修改:2010-01-07
所以说不要将这个脚本改在初始化目录中,你可以把它放在script目录里,作为一个单独的后台ruby进程。

require 'rubygems'
require 'rufus/scheduler'

scheduler = Rufus::Scheduler.start_new

# 每天早上10:10,将订单提示支付记录的短信发出
scheduler.cron '10 10 * * *' do
  system("rake sms:send_tip_pay_messages RAILS_ENV=production")
end

scheduler.join  # 要放上这个来居启动线程,而在初始化目录中是由rails启动时顺带启动的


然后在项目目录中执行:
ruby script/scheduler.rb &

就ok了。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics