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, coloquei o projeto no Github. Segue o link:

https://github.com/jmichelkim/nodecasadocodigo/tree/master/23DeployHerokuComAjustesNaConnectionFactoryEPackageJsonSocketIoComModall

Abraços.

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?