2010-03-21 77 views
1

我寫過這個ruby守護進程,想知道是否有人可以看看它,並告訴我,如果我採取的方法是正確的。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

的時間差異可能來自service.update_from_feed_continuously需要多長時間。這是一個不平凡的計算,還是一個依賴於Web服務的計算(它們的延遲可能使許多客戶端計算變得困難)。

不知道其餘的結構,對不起!

+0

這正是我已經猜到。非常感謝 – 2010-03-22 09:20:46