Рубиновые демоны и частота - PullRequest
1 голос
/ 22 марта 2010

Я написал этого демона 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 минут.

спасибо заранее

Ответы [ 2 ]

1 голос
/ 22 марта 2010

Год назад была довольно интересная статья:

Рубиновые демоны: проверка правильного поведения

0 голосов
/ 22 марта 2010

Расхождение во времени может зависеть от того, сколько времени займет service.update_from_feed_continuously.Это нетривиальные вычисления или те, которые основаны на веб-сервисе (их добавленные задержки могут затмить многие вычисления на стороне клиента).

Хотя не уверен насчет структуры остальных, извините!

...