查看完整版本: [翻译]运行你自己的分发器reaper脚本

Ragnarok 2007-11-10 01:11

[翻译]运行你自己的分发器reaper脚本

[size=6][color=Red]运行你自己的分发器reaper脚本[/color][/size]

[quote][color=Red]原文标题:Roll your own dispatch reaper script
原文作者:Tim Lucas
原文地址:[url]http://www.sitepoint.com/blogs/2006/09/18/roll-your-own-dispatch-reaper-script/[/url]

译者:Ragnarok@Ruby中文社区翻译团队
译文首发:[url]http://www.ruby-lang.org.cn/forums/viewthread.php?tid=1944&extra=page%3D1&frombbs=1[/url]

转载请保留本版权信息,违者必究![/color][/quote]

如果你以前没有使用过reaper脚本,那你就要试试它,reaper脚本语言对Rails程序的FastCGI分发器的重启非常有效。

看起来现在Edge rails中reaper脚本要依赖[color=Red]tmp/pids[/color]目录中的PID文件的存在。如果你想复制原功能,你只要创建自已的Ruby脚本,重写Capistrano的重启任务来调用你自己的脚本,而不是调用标准的[color=Red]script/reaper[/color]。

我自己程序中一个简单的reaper脚本:

[code]        #!/usr/bin/env ruby
        for process in `ps axwwl`.grep(/dispatch\.fcgi/).collect { |s| s.split[1] }
          puts "Sending USR2 to dispatch.fcgi process #{process}"
          Process.kill("USR2", process.to_i)
        end [/code]

上面的代码是在[color=Red]script/my_reaper[/color]里面的,被Capstrano部署方法调用的代码如下:

[code]        task :restart, :roles => :app do
         run "ruby #{deploy_to}/current/script/process/my_reaper"
        end [/code]

[[i] 本帖最后由 Ragnarok 于 2007-11-10 01:28 编辑 [/i]]

Ragnarok 2007-11-10 01:34

感谢Drive2me的校对和教导!神会保佑你的!

drive2me 2007-11-10 09:17

[quote]原帖由 [i]Ragnarok[/i] 于 2007-11-10 01:34 发表 [url=http://ruby-lang.org.cn/forums/redirect.php?goto=findpost&pid=7512&ptid=1944][img]http://ruby-lang.org.cn/forums/images/common/back.gif[/img][/url]
感谢Drive2me的校对和教导!神会保佑你的! [/quote]

Ragnarok,我感到凭你的天分,只要你努力,就一定能干的很好,这是开始,继续加油!
页: [1]
查看完整版本: [翻译]运行你自己的分发器reaper脚本