Node.js Expressでサーバータイムアウトを設定する方法


Express.jsでは、サーバータイムアウトを設定するためにミドルウェアを使用します。以下に、シンプルで簡単な方法とコード例を示します。

  1. ミドルウェアのインストール: まず、Express.jsアプリケーションにtimeoutミドルウェアをインストールします。
npm install connect-timeout
  1. ミドルウェアの使用: Express.jsアプリケーションでtimeoutミドルウェアを使用します。
const express = require('express');
const timeout = require('connect-timeout');
const app = express();
// タイムアウトを10秒に設定する例
app.use(timeout('10s'));
// 他のミドルウェアやルートハンドラーの後にタイムアウトハンドラーを追加する
app.use((req, res, next) => {
  if (!req.timedout) {
    next();
  }
});
// タイムアウトハンドラー
app.use((req, res, next) => {
  if (req.timedout) {
    res.status(503).send('Request timeout');
  }
});
// サーバーを起動する
app.listen(3000, () => {
  console.log('Server started on port 3000');
});

上記の例では、timeoutミドルウェアを使用して10秒のタイムアウトを設定しています。もちろん、必要に応じてタイムアウトの時間を変更してください。

これで、Express.jsアプリケーションでサーバータイムアウトを設定することができます。必要に応じて、他のミドルウェアやカスタムのタイムアウトハンドラーを追加することもできます。

以上が、Node.js Expressでサーバータイムアウトを設定する方法です。この方法を使用すると、リクエストの処理時間を制御し、サーバーパフォーマンスを向上させることができます。