<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d4684235500622716427\x26blogName\x3dCaiwangqin\x27s+blog\x26publishMode\x3dPUBLISH_MODE_HOSTED\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttp://blog.caiwangqin.com/search\x26blogLocale\x3dzh_CN\x26v\x3d2\x26homepageUrl\x3dhttp://blog.caiwangqin.com/\x26vt\x3d3393395200455623441', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Caiwangqin's blog

Focus on Cloud Service, Smart Hardware, Architecture, Technic and beyond…

善用 Rails 的 script/runner

2008年12月15日星期一

网站中经常有一些需要在后台运行的程序,Rails 给我们提供了 script/runner 方法运行 model 中的 action, 如:

ruby script/runner User.find(:first)

之前一般都使用这种方法来处理后台运行的方法,其实还可以有另外一种灵活方法使用 script/runner,可以在 Rails app 的配置,和 Rails Framework 的一些内置方法,但将需要完成的任务写在独立的 Ruby 文件中,如:

vim cron_task.rb

u = User.find(:first)
puts u.inspect

然后在命令行中使用以下方式执行:

ruby script/runner cron_task.rb

使用这样的方式执行 cron_task.rb, 就可以在 ruby 文件中方便的使用 rails app 的 config 和 framework.

当然也可以直接使用Ruby/MySQL直接连数据库操作。

标签: ,

posted by Jesse Cai, 下午6:13

0 Comments:

发表评论

订阅 帖子评论 [Atom]

<< 主页