Sto usando Rails 3.2.5 e Koala 1.3.0 (non l'ultimo, perché l'ultimo si rifiuta di eseguire anche l'app di Facebook di esempio da Heroku). Il server Web è Unicorno.put_connections() al grafico di Facebook in Koala fallisce dopo un lungo ritardo
Quando provo nella quale inserire l'Timeline usando 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"
le bancarelle del controller per 12s prima di ottenere un'eccezione:
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}}):
ho provato con lo strumento di debug: http://developers.facebook.com/tools/debug e non ha riscontrato errori per l'URL registrato nella riga 2.
Il mio server Web registra un GET dall'IP di Facebook e restituisce 200 OK . L'IP di Facebook fa ancora qualche richiesta per recuperare le immagini, che riceve anche 200 OK.
Lo sto testando sugli utenti di test della mia app FYI.
UPDATE
questo sembra essere un problema OpenGraph. Questo problema si riproduce per me: https://developers.facebook.com/bugs/213733412077729
Fondamentalmente il POST ha successo solo dopo averlo verificato sul debugger una volta! Qualcuno ha provato questo prima?
Grazie, questo mi ha dato l'indizio di cui avevo bisogno per risolvere il mio problema troppo. Penso che la causa principale sia che le chiamate di servizio esterne sincrone nel controller sono "cattive". L'architettura "tecnicamente più corretta" prevede che l'azione invii una sorta di lavoro in background (lavoro ritardato, resque, ecc.) E non blocchi il controller. –