Я использую Rails 3.2.5 и Koala 1.3.0 (не последнее, потому что последний отказывается запускать даже пример приложения Facebook от Heroku). Веб-сервер - Единорог.put_connections() на графике Facebook в Koala терпит неудачу после очень большой задержки
Когда я пытаюсь POST на временной шкале с помощью put_connections():
@fbgraph = Koala::Facebook::API.new(session[:access_token])
logger.debug "put_connections(#{url_for @room}), start"
@fbgraph.put_connections("me", "myapp:view", :room => url_for(@room))
logger.debug "put_connections(), end"
Контроллер стойла для 12s перед тем, как исключение:
Completed 500 Internal Server Error in 12075ms
Koala::Facebook::APIError (HTTP 500: Response body: {"error":{"type":"Exception","message":"Could not retrieve data from URL.","code":1660002}}):
я тестировал с инструментом отладки: http://developers.facebook.com/tools/debug и он не обнаружил ошибки для URL-адреса, зарегистрированного в строке 2.
Мой веб-сервер регистрирует GET с IP-адреса Facebook и возвращает 200 OK , Facebook IP затем делает еще несколько запросов на получение изображений, которые также получают 200 OK.
Я тестирую это на тестовых пользователях моего приложения FYI.
UPDATE
Это, как представляется, проблема OpenGraph. Эта проблема воспроизводится для меня: https://developers.facebook.com/bugs/213733412077729
В принципе POST успешна только после того, как я проверил его на отладчике один раз! Кто-нибудь испытал это раньше?
Спасибо, это дало мне ключ мне нужно, чтобы исправить мою проблему тоже. Я считаю, что основной причиной является то, что выполнение синхронных внешних вызовов службы в вашем контроллере является «плохим». «Технически более правильная» архитектура заключается в том, чтобы ваше действие отправляло какое-то фоновое задание (замедленное задание, resque и т. Д.), А не блокировать ваш контроллер. –