5
respostas

Deploy no Heroku - Aplicação para de funcionar após cadastrar uma promoção relâmpago

Olá, Finalizei o curso de Node e ao realizar o deploy da aplicação no Heroku ela funciona normalmente até que eu cadastre uma promoção relâmpago. Após o alert da promoção relâmpago ser exibido na página home, toda a aplicação pára de funcionar e o console do navegador mostra o erro abaixo e fica emitindo a mensagem indefinidamente, como um listening.

GET https://cdc-nodejsjmk.herokuapp.com/socket.io/?EIO=3&transport=polling&t=MMd7POl 503 (Service Unavailable)

Na minha máquina (localhost) a aplicação continua funcionando normalmente após vários cadastros de promoção relâmpago, mas no Heroku após o cadastro de apenas uma promoção ela já não funciona mais. Somente após reiniciar o app no Heroku que volta a funcionar, mas novamente só até cadastrar uma promoção relâmpago.

5 respostas

Oi Jorge, tudo bem? Verifica os logs no heroku pra ver se tem alguma mensagem de erro que ajude a gente identificar melhor o que pode estar acontecendo?

Oi Wanderson,

Percebi que a aplicação está quebrando sozinha.

Este é o log que o Heroku está exibindo.

2018-09-12T00:52:46.319489+00:00 heroku[web.1]: Process exited with status 1
2018-09-12T00:52:46.248009+00:00 app[web.1]: events.js:183
2018-09-12T00:52:46.248023+00:00 app[web.1]:       throw er; // Unhandled 'error' event
2018-09-12T00:52:46.248025+00:00 app[web.1]:       ^
2018-09-12T00:52:46.248026+00:00 app[web.1]: 
2018-09-12T00:52:46.248028+00:00 app[web.1]: Error: Quit inactivity timeout
2018-09-12T00:52:46.248031+00:00 app[web.1]:     at Quit.<anonymous> (/app/node_modules/mysql/lib/protocol/Protocol.js:163:17)
2018-09-12T00:52:46.248032+00:00 app[web.1]:     at emitNone (events.js:106:13)
2018-09-12T00:52:46.248034+00:00 app[web.1]:     at Quit.emit (events.js:208:7)
2018-09-12T00:52:46.248035+00:00 app[web.1]:     at Quit._onTimeout (/app/node_modules/mysql/lib/protocol/sequences/Sequence.js:124:8)
2018-09-12T00:52:46.248038+00:00 app[web.1]:     at Timer._onTimeout (/app/node_modules/mysql/lib/protocol/Timer.js:32:23)
2018-09-12T00:52:46.248040+00:00 app[web.1]:     at ontimeout (timers.js:498:11)
2018-09-12T00:52:46.248042+00:00 app[web.1]:     at tryOnTimeout (timers.js:323:5)
2018-09-12T00:52:46.248043+00:00 app[web.1]:     at Timer.listOnTimeout (timers.js:290:5)
2018-09-12T00:52:46.256334+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2018-09-12T00:52:46.256634+00:00 app[web.1]: npm ERR! errno 1
2018-09-12T00:52:46.257762+00:00 app[web.1]: npm ERR! 05expressejsnodemonmoduleexports@1.0.0 start: `node app`
2018-09-12T00:52:46.257856+00:00 app[web.1]: npm ERR! Exit status 1
2018-09-12T00:52:46.258033+00:00 app[web.1]: npm ERR! 
2018-09-12T00:52:46.258146+00:00 app[web.1]: npm ERR! Failed at the 05expressejsnodemonmoduleexports@1.0.0 start script.
2018-09-12T00:52:46.258258+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2018-09-12T00:52:46.264516+00:00 app[web.1]: 
2018-09-12T00:52:46.264670+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2018-09-12T00:52:46.264795+00:00 app[web.1]: npm ERR!     /app/.npm/_logs/2018-09-12T00_52_46_259Z-debug.log
2018-09-12T00:52:46.335217+00:00 heroku[web.1]: State changed from up to crashed
2018-09-12T00:52:54.090377+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/produtos/formulario" host=cdc-nodejsjmk.herokuapp.com request_id=ce516116-d463-443b-8517-10f255f8a012 fwd="177.41.34.92" dyno= connect= service= status=503 bytes= protocol=https

Hm, esse erro não está muito claro pra mim, seu projeto está on GitHub pra que eu consiga dar uma olhada no código?

Oi Jorge, acho que não estou olhando a mesma base de código que está no seu heroku, veja, no seu log você tem:

Failed at the 05expressejsnodemonmoduleexports

A pasta que está no seu heroku é a 05, e você me passou o link da pasta 23, você já testou a 23 no heroku?