PubSubHubbub и Ruby on Rails: проверка подписки

Я пытаюсь реализовать подписки Superfeedr, используя PubSubHubbub и Ruby на Рельсы. Проблема в том, что подписки никогда не подтверждаются, хотя мой обратный вызов выводит строку hub.challenge, которую он успешно получает.

  def push
    feed = Feed.find(params[:id])
    if feed.present?
      if params['hub.mode'].present? and params['hub.verify_token'] == feed.secret
        feed.update_attribute(:is_active, (params['hub.mode'] == 'subscribe'))
        render text: params['hub.challenge']
        return
      elsif params['hub.secret'] == feed.secret
        parse(feed, request.raw_post)
      end
    end
    render nothing: true
  end

Он устанавливает feed.is_active = true, но Superfeedr Analytics не показывает никаких признаков подписки.

Я использую хостинг 1 Dyno Heroku и метод асинхронной проверки.


person krn    schedule 03.06.2011    source источник


Ответы (1)


Первое, что вы должны проверить, это код состояния HTTP и BODY ответа вашего запроса на подписку. Я ожидаю, что код будет 422, чтобы указать, что подписка не удалась, но тело поможет нам точно узнать, что происходит.

Кроме того, вы видите запрос на проверку в журналах?

Общая проблема с heroku заключается в том, что если вы используете hub.verify=sync, вам понадобится 2 динамометра, потому что в этом случае вы должны выполнять одновременные запросы...

person Julien Genestoux    schedule 03.06.2011
comment
Ответ (вызывающий обратный вызов «push»): goo.gl/x7Yrj ; заголовки ответа: goo.gl/GSGXT - person krn; 03.06.2011
comment
Я использую hub.verify=async при вызове superfeedr.com/hubbub; Запрос проверки в журналах Heroku: pastebin.com/auHcpvcL - person krn; 03.06.2011
comment
Каков ответ на ваш запрос на подписку. Вы дали мне ответ на запрос проверки. Кроме того, пожалуйста, отправьте сообщение в группу Google Superfeedr, мне будет легче отслеживать и помогать :) - person Julien Genestoux; 03.06.2011