私はMLab MongoDBとmongooseライブラリを使って、サーバレス(ラムダ)ハンドラの中でdb接続を作成しています。ローカルマシン上でスムーズに動作します。しかし、デプロイメント後には動作しないことがあります。リクエストはInternal server error
を返します。奇妙なことが時々動作します。しかし、データベース接続コードを削除すると、ハンドラが機能します。サーバレスログはProcess exited before completing request
と表示されます。実際のエラーはありませんので、何をすべきかわかりません。Mongo接続で時々ラムダ関数がタイムアウトになる
DB接続は次のようになります。ここにもで handler.js
// Connect to database
mongoose.connect(process.env.DATABASE_URL, {
useMongoClient: false
}).then((ee) => {
console.log('------------------------invoke db ', ee);
})
.catch(err => console.error('-----------error db ', err));
エラーなし。何が起きているのか?
は、タイムアウトを増やしてX線のトレースを追加し、ビットが遅いかを調べます。ラムダが暖かい後、再びトレースを見てください。 –
@TrentBartlemまだ助けてくれなかった:-( – THpubs