我写过这个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分钟的变化。
提前致谢
答案 0 :(得分:1)
一年前有一篇非常有趣的文章:
答案 1 :(得分:0)
时间差异可能来自service.update_from_feed_continuously
需要多长时间。这是一个非平凡的计算还是依赖于Web服务的计算(它们增加的延迟可能使许多客户端计算相形见绌)。
不确定其余部分的结构,抱歉!