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

关于ROR的定时任务

浏览 9417 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-12-19  
在java中都知道有很多可用的定时调度的第三方工具,在ROR中有类似的吗?
比如我要实现每月15日执行一项操作(如:发放工资等),到期会员自动置为不可用状态都需要用到定时任务.
后台一直监视当前会员是否到期或是不是15日该放钱的时候了?

用了一下BackgrounDRb 他好像只是后台任务,但没有定时调度的,无法设置定时任务或周期任务.
Railscron 听说是暂停更新,在http://rubyforge.org/上已经没有可下载的了.

其它还有什么相关可用的吗?
谢谢!
   发表时间:2007-12-19  
直接用unix的cron job不就好了
0 请登录后投票
   发表时间:2007-12-19  
http://svn.kylemaxwell.com/rails_plugins/daemon_generator
0 请登录后投票
   发表时间:2007-12-19  
用BackgrounDRb Railscron 及daemon这些好像有点没用到刀刃上,且浪费资源
linux的cron job不就是为你的需求所准备的吗?

写个rake,再在crontab里面写上定时的时间就OK了

现在我们的网站就是用得这个,对定时出报表啊,统计数据啦很实用

具体操作:

1.写相关的rake任务
namespace :myrake do 
  desc "自定义任务"
  task :monitor => :environment do 
    #写上自己的任务
  end
end

2.在cron里写入:
   0 0 15 0 0 root cd /your app path/ && /usr/local/ruby/bin/rake myrakes:monitor

Just do it!!!
0 请登录后投票
   发表时间:2007-12-19  
谢谢各位关注~
uniux的cron我知道,我们数据备份也是这么做的,但现在开发环境是在window上或者要是将来运行环境是在windows上那不是也是一个问题?
像spring封装的那个quatz 就很好用!
0 请登录后投票
   发表时间:2007-12-19  
pure 写道
谢谢各位关注~
uniux的cron我知道,我们数据备份也是这么做的,但现在开发环境是在window上或者要是将来运行环境是在windows上那不是也是一个问题?
像spring封装的那个quatz 就很好用!


Windows上面也有“计划任务”,和cron job一个意思,不照样用嘛。打开控制面板,找到计划任务,添加一项就OK了。
0 请登录后投票
   发表时间:2007-12-19  
目前只好这样了,谢谢!
0 请登录后投票
   发表时间:2007-12-19  
BackgrounDRb应该是可以定时调度的。用BackgrounDRb有个好处就是,定时计划改了以后不需要去改cron配置文件(cron配置文件是否也可以在cap部署脚本里写shell命令来修改?);服务器进程还可以和BackgrounDRb进程进行通讯,查询后台处理的状态,如进度等等;还有BackgrounDRb可以实时添加一个新任务,比如用户上传一个文件到服务器进行处理,处理需要比较长时间,这种情况用BackgrounDRb就很方便,而且用户可以实时查询到处理的进度,用cron似乎不好做。
0 请登录后投票
   发表时间:2007-12-19  
yehs220 写道
BackgrounDRb应该是可以定时调度的。用BackgrounDRb有个好处就是,定时计划改了以后不需要去改cron配置文件(cron配置文件是否也可以在cap部署脚本里写shell命令来修改?);服务器进程还可以和BackgrounDRb进程进行通讯,查询后台处理的状态,如进度等等;还有BackgrounDRb可以实时添加一个新任务,比如用户上传一个文件到服务器进行处理,处理需要比较长时间,这种情况用BackgrounDRb就很方便,而且用户可以实时查询到处理的进度,用cron似乎不好做。
我就是没发现他的定时调度,呵呵,你发现了就告诉你声?谢谢!
0 请登录后投票
   发表时间:2007-12-19  
我晕,这么明显的地方都看不到
http://backgroundrb.rubyforge.org/
Cron style scheduling and config

| :backgroundrb:
|   :ip: 0.0.0.0
|   :port: 11006
|   :environment: production
|
| :schedules:
|   :foo_worker:
|     :foobar:
|       :trigger_args: */5 * * * * * *
|       :data: Hello World
|     :barbar:
|       :trigger_args: */10 * * * * * *
1 请登录后投票
论坛首页 编程语言技术版

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