【Firebase】Cloud Schedulerを使いCloud Functionsを呼び出す方法

はじめに

Nuxt.jsでFirebase Cloud Functionsを使う方法の続きです。(Nuxt.js関係ないけども…)
Cloud Schedulerを使用して、1日に1回レコードを更新します。
※Firebaseのプロジェクトの方は、Cloud Functionsだけでcronを設定できるようです。
Firebaseを使わずにやる方法もおいおいやる機会はありそう。

準備

  • Cloud Functionsが息していることを確認する => 叩いてみる => OK!
curl --header Content-Type:"application/json" {エンドポイント}

FirebaseではFunctionsだけでいけるみたい

exports.scheduledFunctionCrontab = functions.pubsub
  .schedule("*/1 * * * *") // 毎分に設定
  .timeZone("Asia/Tokyo") // 日本に設定
  .onRun(() => {
    console.log("テスト")
    return null
  })

デプロイ

firebase deploy --only functions

firebase-toolsのバージョンをあげないといけなかった

npm install -g firebase-tools 

Cloud Scheduler

ちゃんと実行されてる!

最後に毎分実行を直しておきます。

cronの時間を調べるのに良さげサイト => crontab.guru

exports.scheduledFunctionCrontab = functions.pubsub
  .schedule("0 */3 * * *") // 3時間おき
  .timeZone("Asia/Tokyo")
  .onRun(() => {
    console.log("テスト")
    return null
  })

実行環境のオプション変更

関数のデプロイとランタイム オプションを管理する

参考