1. ホーム
  2. javascript

[解決済み] Firebase用Cloud Functionsのトリガーは時間通り?

2022-05-15 02:26:23

質問

FirebaseのCloud Functionsをスケジュールする、つまり、特定の時間にトリガーする方法を探しています。

どのように解決するのですか?

更新情報 2019-04-18

Firebase を通して Cloud Functions にスケジュールされたコードをデプロイする非常にシンプルな方法が登場しました。

シンプルなテキスト構文を使うか

export scheduledFunctionPlainEnglish =
functions.pubsub.schedule('every 5 minutes').onRun((context) => {
    console.log('This will be run every 5 minutes!');
})

あるいは、より柔軟なcronテーブル形式。

export scheduledFunctionCrontab =
functions.pubsub.schedule('5 11 * * *').onRun((context) => {
    console.log('This will be run every day at 11:05 AM UTC!');
});

もっと詳しく知りたい方は

なお、これが動作するためには、プロジェクトがBlazeプランである必要があるので、参考までに代替オプションを以下に残しておきます。

でのクラウド関数の単一の呼び出しをスケジュールしたい場合。 遅延 で、他のトリガーの実行中から呼び出したい場合、次のようにします。 クラウドタスク を使ってそれを設定します。 この記事を読む をご覧ください。

オリジナルの回答は以下のとおりです...


組み込みの runat/cron タイプのトリガーはまだありません。

今のところ、外部サービスを使用して定期的にHTTP関数をトリガーするのが最良の選択肢です。このサンプルは functions-samples レポ にあるサンプルを参照してください。また、最近導入されたGoogle Cloud Schedulerを使って、PubSubやHTTPSでCloud Functionsをトリガーすることもできます。

Firebaseブログのこの記事もぜひ読んでみてください。 FirebaseのCloud Functionsでジョブをスケジュールする(Cron)方法 と、このビデオをご覧ください。 HTTPトリガーとCronを使用してCloud Functions for Firebaseをタイミングよく実行する .

最後のリンクは cron-job.org を使用してクラウド関数をトリガーしており、無料プランのプロジェクトで動作します。この場合、誰でも認証なしで関数を呼び出すことができるので、コード自体に不正使用防止メカニズムを含めるとよいでしょう。