2015-06-11 13 views
5

Sto effettuando una chiamata costosa al mio server Heroku Rails. Dopo 13-15 secondi la console del browser segnala un errore 503 di servizio non disponibile. Tuttavia quando controllo i miei log Heroku, riporta:503 Servizio non disponibile ma i registri di heroku mostrano 200

Completed 200 OK in 45592ms (Views: 220.3ms | ActiveRecord: 33457.5ms) 

Altre volte i registri Heroku riportano un ricordo superato quota. Ecco un esempio di quello sotto.

2015-06-11T15:17:20.238285+00:00 app[web.1]: Completed 200 OK in 81881ms (Views: 201.6ms | ActiveRecord: 18021.2ms) 
2015-06-11T15:17:33.482930+00:00 heroku[web.1]: Process running mem=841M(164.4%) 
2015-06-11T15:17:33.482930+00:00 heroku[web.1]: Error R14 (Memory quota exceeded) 
2015-06-11T15:17:53.147570+00:00 heroku[web.1]: Process running mem=841M(164.4%) 
2015-06-11T15:17:53.147679+00:00 heroku[web.1]: Error R14 (Memory quota exceeded) 
2015-06-11T15:17:59.751540+00:00 app[web.1]: E, [2015-06-11T15:17:59.695813 #3] ERROR -- : worker=2 PID:13 timeout (121s > 120s), killing 
2015-06-11T15:17:59.916750+00:00 app[web.1]: E, [2015-06-11T15:17:59.906435 #3] ERROR -- : reaped #<Process::Status: pid 13 SIGKILL (signal 9)> worker=2 
2015-06-11T15:18:02.487428+00:00 app[web.1]: I, [2015-06-11T15:18:02.427293 #16] INFO -- : worker=2 ready 

Perché segnala un 200 completato quando la console segnala un 503?

+0

Sei completamente sicuro che la voce che hai dato sopra nel log Heroku corrisponda alla richiesta che hai inviato dal browser? –

+0

Sì, lo sono. C'è solo una richiesta inviata e io sono l'unico che usa l'app. – jason328

+0

Questo non è binari ma ha un paio di cose generali da provare per eseguire il debug di questo http://stackoverflow.com/questions/22386148/apigee-api-end-point-gives-503-on-the-browser-but -a-200-on-apigee-trace-and-cur –

risposta

2

ci sono 2 cose diverse qui:

  • vostra applicazione
  • il carico Heroku bilanciatore

In questo caso il bilanciamento del carico vedere che la richiesta sta impiegando troppo tempo e la invia 503. Nella parte posteriore il servizio elabora la richiesta e restituisce completato con un 200.

Vedere:

https://devcenter.heroku.com/articles/limits

https://devcenter.heroku.com/articles/request-timeout

+0

Ho impostato il mio timeout su 120 secondi. Considerando che l'errore 503 viene visualizzato dopo 13 secondi, non penso che questo sia il problema. – jason328

+0

Guardando attraverso i registri e cercando H12, ho scoperto che dopo 30 secondi il router scade e restituisce un messaggio 503. Questo è documentato nell'articolo dei limiti elencato in questa risposta. – user1881102

+0

Votare, per quanto mi riguarda, il limite di 30 secondi era il problema. –

0

Heroku non ci dà molte informazioni per error-code = H10. Semplicemente, qualcosa sta andando storto con il codice/configurazione dell'applicazione. Per vedere cosa non funziona, esegui heroku run rails console e sarai in grado di visualizzare i dettagli di errore che ti aiuteranno a risolvere l'errore. Non è necessario utilizzare i registri. heroku run rails console è un grande aiuto

Problemi correlati