Cloud Functions for Firebaseは時間どおりにトリガーされますか?


回答:


113

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プランに含まれている必要があることに注意してください。そのため、以下の代替オプションは参照用に残しておきます。

Cloud Functionの単一の呼び出しを別のトリガーの実行内からの遅延でスケジュールする場合は、Cloud Tasksを使用してそれを設定できます。 それがどのように機能するかの拡張例については、この記事読んでください

以下の元の答え...


組み込みの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を使用してCloud Functionsをトリガーし、無料プランのプロジェクトで機能します。これにより、誰でも許可なしに関数を呼び出すことができるため、コード自体に乱用防止メカニズムを含めることができます。


1
これに関しては何も変わっていません。cron-job.orgジェンがブログ投稿で話しているという事実を含めて、自由に使用できます。
フランクファンPuffelen

2
Jenのビデオは非推奨としてタグ付けされています。それを行う別の方法はありますか?
b-fg 2018年

2
このアプローチは、ビデオ(およびブログ投稿)が作成されたときと同じように、今日でも有効です。構文は少し変更されましたが、この特定のケースが影響を受けるとは思いません。この作業で問題が発生した場合は、既に行ったことを示す質問を開いてください。
フランクファンPuffelen

1
うわー、最終的に彼らはそれを簡単に行う方法を実装しました!最後に !!!!アップデートをありがとう
シャンカム

1
Cloud Schedulerページから:Each Cloud Scheduler job costs $0.10 (USD) per month、「ジョブ」を想定することは、スケジュールされたものが発動するたびに意味するのではなく、タイマーあたりのコストを意味しますか?つまり、毎分実行されるジョブのコストはわずか0.10ドルですか?(呼び出すクラウド関数を除きます)。
アーロンアッシュ

12

あなたができることは、cronジョブによってトリガーされ、PubSubに発行されるAppEngineインスタンスを起動することです。私はそれについてブログ記事を書きました、あなたは見てみたいかもしれません:

https://mhaligowski.github.io/blog/2017/05/25/scheduled-cloud-function-execution.html


1
1時間に1回トリガーされるcronジョブの1か月あたりの推定コストはどれくらいですか?
Ehtesham Hasan

3
@EhteshamHasan無料のようです:cloud.google.com/free。現在28インスタンス時間/日無料。また、無料のATM用のcronを実行するLinuxを使用したGoogle Compute Engineのf1-microインスタンスがあります。
bitsoflogic 2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.