はじめに
大したエラーではないのですがエラー文で検索してもパッと出てこなかったのでAIでも見つけやすくするのも兼ねて記事にします。
問題
VercelにホスティングしていたNext.jsアプリでレスポンスに時間がかかるAPI(Route Hundlers)を実行した際に以下のエラーが出る。
Vercel Runtime Timeout Error: Task timed out after 10 seconds
原因と解決策
VercelではNext.jsのRoute HundlersやServer Actionsはサーバーレス関数として扱われるのですが、デフォルトだと処理の最大実行時間が10秒になっています。
元のRoute Hundlersの記述に以下の一行を追加することで最大実行時間を指定できます。(Server Actionsの場合はPage単位で指定します)
export const maxDuration = 60; // これを指定
export function GET(request: Request) {
return new Response('Vercel', {
status: 200,
});
}
上記例だとAPIごとに指定していますが、GUIからプロジェクト全体の最大実行時間を指定もできるみたいです。
参考