Ruby on Rails подписывается на PubNub как отдельный процесс - PullRequest
2 голосов
/ 06 декабря 2011

Я подумывал об использовании PubNub на моем веб-сайте.

В свою очередь, я могу подписаться на каналы с PubNub.

Однако мне нужно найти способ запустить скрипт, который подписывается наканалы с PubNub.

Например, согласно их документации http://www.pubnub.com/blog/ruby-push-api, в ней говорится: «Чтобы прослушать опубликованные сообщения, вызовите функцию подписки. Важно отметить: функция подписки блокирует.Вы захотите запустить эту функцию в отдельном процессе. "

Тогда PubNub предоставляет следующий код:

 ## Subscribe (Listen for Messages)
 pubnub.subscribe({
'channel ' => 'my_channel',
'callback' => lambda do |message|
    ## Message Received!!!
    puts(message['my_var']) ## print message
    return true             ## keep listening?
end
  })

Я не могу представить способ запуска этой функции как" процесс "."

Нет ли что-то вроде фоновых заданий?Это то, что мне нужно?

Цените любые указания.

1 Ответ

0 голосов
/ 06 декабря 2011

Лучший способ начать работать с этим (в настоящее время) - это использовать асинхронный метод HTTP-запроса Ruby EventMachine и API REST PubNub HTTP.

  1. EventMachine :: Protocols :: HttpClient2 -> http://eventmachine.rubyforge.org/EventMachine/Protocols/HttpClient2.html
  2. API REST API PubNub -> http://www.pubnub.com/tutorial/http-rest-push-api

    conn = EM::Protocols::HttpClient2.connect 'pubsub.pubnub.com', 80
    req  = conn.get('/subscribe/SUBSCRIBE_KEY/CHANNEL/0/TIMETOKEN')
    

Обратите внимание, что это не полный пример, а хорошее началоточка ... Вы должны следовать HTTP REST Guide.

...