我已经写了这个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分钟的变化。
提前感谢
发布于 2010-03-22 11:10:54
时间差异可能来自于service.update_from_feed_continuously所需的时间。这是一种非平凡的计算,还是依赖于web服务的计算(它们增加的延迟可能会使许多客户端计算相形见绌)。
不过,我不确定其余部分的结构,抱歉!
发布于 2010-03-23 00:02:18
一年前有一篇非常有趣的文章:
https://stackoverflow.com/questions/2489032
复制相似问题