Извлечение данных для приложения Ruby's Rack за определенный промежуток времени - PullRequest
0 голосов
/ 01 марта 2011

У меня есть очень простое приложение ruby ​​rack, которое извлекает информацию из веб-службы и преобразует ее в JSON.

#config.ru

my_result = fetch_information_from_webservice
map '/feed' do
   run Proc.new {|env| [200, headers... , my_result.to_json]}
end

Таким образом, при запуске сервера он извлекает информацию, кэширует ее и отображает результаты с помощью /feed. То, что я хотел бы сделать, это время от времени перезагружать это fetch_information_from_webservice переназначение my_result новое значение

Итак, скажем, каждые 30 минут сервер будет снова извлекать внешнюю информацию, кэшировать ее в /feed и отображать очень быстро, не беспокоя пользователя.

Есть ли способ сделать это без необходимости создавать внешний скрипт и загружать его как задание cron (например, объявление внутри собственного configu.ru файла?

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

1 Ответ

0 голосов
/ 02 марта 2011

Rufus Scheduler , кажется, делает именно то, что мне нужно, он очень аккуратный и работает гладко.

мне нужно было всего лишь запустить приложение через Sinatra вместо чистой стойки, так каксырое приложение Rack не обновляло результаты соответствующим образом при вызове / feed, но с Sinatra работает довольно хорошо.

...