前提・実現したいこと
Herokuで何度リスタートしてもexitしてしまいます。
発生している問題・エラーメッセージ
herokuでデプロイしたものを確認しようとしたところ、application errorが出ていて、
heroku logs --tails で確認したところビルドやデプロイには問題なさそうですが、プロセスが下記エラーを吐いて止まっているようです。
h12エラーに関してはプロセスが止まっていて、応答がなくタイムアウトしていると今のところ考えています。
リスタートの際のエラーログ heroku[web.1]: Restarting heroku[web.1]: State changed from up to starting heroku[web.1]: Stopping all processes with SIGTERM heroku[web.1]: Process exited with status 143 httpリクエスト送信時のエラーログ at=error code=H12 desc="Request timeout" method=GET path="/" dyno=web.1 connect=0ms service=30000ms status=503 bytes=0 protocol=https git pushの際にはエラー出ていません。 -------------------------------------------------------------------- GET / のエラー処理に問題があるのではないかとの指摘より、 部分的に抜粋しました。 ------------------------------------------------------------------- app.js let indexRouter = require('./routes/index'); app.use('/', indexRouter); // catch 404 and forward to error handler app.use(function(req, res, next) { next(createError(404)); }); // error handler app.use(function(err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; // render the error page res.status(err.status || 500); res.render('error'); }); routes/index.js router.get('/', function(req, res, next) { const title = 'title'; const messageKey = nanoid.nanoid(7) SecretMessage.findOne({where: {show: true}}) .then((secret_message) => { let data = {title: title, messageKey: messageKey}; if (secret_message){ data.secret_message = secret_message.text; secret_message.update({show: false}); } if (req.user) { data.user = req.user.displayName; Room.findAll({where: {createdBy: req.user.id} }).then(rooms => { data.rooms = rooms; res.render('index', data); }); } else { res.render('index', data); } }) });
試したこと
https://devcenter.heroku.com/ja/articles/request-timeout#timeout-behavior
https://stackoverflow.com/questions/15767685/understanding-heroku-server-status-143
上記のurlなどを参考にh12エラーの解決策としてheroku restartなどを行いましたが、何度restartしてもすぐにプロセスが止まってしまい、調べても解決しませんでした。
追記:
アプリの内容は簡単なwebのチャットアプリのようなものです。
アプリのほうに問題があるのではないかという指摘を受けまして、今さらに調べております。
ただ、コードのどこにエラーがあるか分からず、分かる方法があれば追加でお聞きしたいです。
ローカルでは動いているので、heroku用の記述の中にあるのだとは思うのですが、、
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー