【发布时间】: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