🥕

firebase functionsでtimeoutをコードで指定する

2023/03/31に公開

Function execution took 60775 ms, finished with status: 'timeout'

firebase functionでたくさんのユーザーに対する処理など、時間のかかる処理をした時に、上記のようにtimeoutしちゃうことがあります。

その場合は、functionのコードに以下みたいにrunWithでtimeoutを指定するとよさそうです。

//githubContributionをfirestoreのユーザーに保存
exports.fetchGithubContribution = functions
+   .runWith({
+       timeoutSeconds: 540,
+   })
    .region('asia-northeast1')
    .pubsub.schedule('every day 07:00')
    .timeZone('Asia/Tokyo')
    .onRun(async (context) => {
    
    });

最大の時間は9分(540秒)です。

参考

https://firebase.google.com/docs/functions/manage-functions?hl=ja

Flutter大学

Discussion