API опрос бота по героку - PullRequest
1 голос
/ 19 июля 2011

Я хочу создать бота, который отправляет API-запрос в минуту на некоторый URL-адрес API.Затем необходимо проверить связь с конкретным пользователем, если запись данных изменилась относительно его имени в фиде API.Я хочу пойти на бесплатное решение Heroku.Можно ли этого достичь?

Ответы [ 2 ]

2 голосов
/ 19 июля 2011

Я сейчас проверяю статус некоторых сайтов бесплатно на героку. Секрет? Руф-Scheduer.

Установить драгоценный камень

 gem install rufus-scheduler

Удостоверьтесь, что вы включили драгоценный камень в связку или как бы вы его не включали.

Затем вам нужно создать файл с именем task_scheduler.rb и вставить его в директорию initializers.

 require 'rufus/scheduler'
 scheduler = Rufus::Scheduler.start_new

 scheduler.every '1m' do
    url = "http://codeglot.com"
    response = Net::HTTP.get_response(URI.parse(url))
    #do stuff with response.body
 end

Если у вас возникли проблемы, вы можете увидеть это сообщение в блоге:

http://intridea.com/2009/2/13/dead-simple-task-scheduling-in-rails?blog=company

2 голосов
/ 19 июля 2011

Да, heroku поддерживает тонкий веб-сервер, который поддерживает EventMachine, поэтому простой способ сделать это - написать приложение быстрого sinatra и использовать EM.add_periodic_timer для вызовов API.Когда вы развертываете это приложение sinatra на heroku, оно по умолчанию будет использовать thin, поэтому дополнительная настройка не требуется.Вы можете проверить через thin start -p 4567, если ваш config.ru правильный.Вот довольно стандартный пример, если ваше приложение находится в app.rb:

require 'bundler/setup'
Bundler.require :default
require File.expand_path('app', File.dirname(__FILE__))

run Sinatra::Application
...