【问题标题】:Ruby daemons and frequencyRuby 守护进程和频率
【发布时间】:2011-01-30 03:34:31
【问题描述】:

我已经编写了这个 ruby​​ 守护程序,想知道是否有人可以看看它,并告诉我我采用的方法是否正确。

#!/usr/bin/env ruby

require 'logger'  

# You might want to change this
ENV["RAILS_ENV"] ||= "production"

require File.dirname(__FILE__) + "/../../config/environment"

$running = true
Signal.trap("TERM") do 
  $running = false
end

service = Post.new('http://feed.com/feeds')
logger  = Logger.new('reader.log')

while($running) do
  # Log my calls
  logger.info "Run at #{Time.now}"

  service.update_from_feed_continuously
  # only run it every 5 minutes or so
  sleep 300
end

我觉得最后一个循环不太正确,而且可能会占用大量内存,但我不确定。此外,5 分钟似乎永远不会恰好每 5 分钟发生一次,我会看到 4-6 分钟的变化。

提前致谢

【问题讨论】:

    标签: ruby-on-rails ruby daemon


    【解决方案1】:

    时间差异可能来自service.update_from_feed_continuously 需要多长时间。这是一个重要的计算还是依赖于 Web 服务的计算(它们增加的延迟可能会使许多客户端计算相形见绌)。

    不确定其余部分的结构,抱歉!

    【讨论】:

      【解决方案2】:

      大约一年前有一篇相当有趣的文章:

      Ruby Daemons: Verifying Good Behavior

      【讨论】:

        猜你喜欢
        • 2013-01-26
        • 2011-10-04
        • 2012-09-05
        • 2012-08-29
        • 1970-01-01
        • 1970-01-01
        • 2011-07-18
        • 2011-06-13
        • 1970-01-01
        相关资源
        最近更新 更多