Help us understand the problem. What is going on with this article?

Firebase Cloud Functionsの定期実行が、それ単体で簡単にできるようになった!

More than 1 year has passed since last update.

以前、Firebase Functionsを定期実行するには、Googleの他のクラウドサービスや外部サービスと連携する必要がありました。

さて、

  • firebase-functions NodeJS モジュールバージョン : 2.3.0
  • Firebase CLIバージョン : 6.7.0

を使うことで、Firebase Functions中の設定・実装のみで、Firebase Functionsの定期実行が行えるようになりました。(これらは、2019年4月時点では利用可能です。)


以下に、公式ドキュメントを参考に試したこと、確認した事項をまとめます。最新のドキュメントを確認してください。

  • 従量課金プランである「Blaze Plan」が必要
  • 内部的には、Google Cloud Pub/SubGoogle Cloud Schedulerを利用
  • そのためFirebaseプロジェクトが↑の機能が有効である必要がある
  • Google Cloud Scheduler2018年11月に正式リリースされた新しいサービス
  • Google Cloud Pub/SubとFirebase Functionsの連携は以前からサポートしていた。
  • デプロイすると自動的に↓ができる。これらはGoogle Cloud Consoleから確認できる。
    • Google Cloud Scheduler
    • Google Cloud Pub/Sub
  • 「Unix Crontab」と「AppEngine cron.yaml syntax」という形式で定期実行のタイミングを指定。(AppEngine cron.yaml syntaxはこちらを参照)
  • 該当のFirebase Functionsの関数を消すと、それと連動するCloud SchedulerとCloud Pub/Subも消えた(投稿者が記事執筆時に確認した挙動)

この機能追加、非常に嬉しく思います。

以前もGoogleの他のクラウドサービスや外部サービスと連携することで、Firebase Functionsの定期実行は可能でした。可能ではありましたが、Firebase Functions以外にも把握・実装・管理することが増え、面倒でした。(私もGoogle Cloud Pub/Subなど慣れていないクラウドサービス使い、四苦八苦しながらFirebase Functionsの定期実行を実装した覚えがあります。)

この機能追加により、ゲーム開発者/モバイル開発者/ウェブフロント開発者にとって、(表向きはとりあえず)Firebase Functionsを利用するだけで、定期実行処理が利用できるようになりました。(内部的には、Google Cloud SchedulerとGoogle Cloud Pub/Subを使っているので、把握していた方がベターではありますが。)

趣味開発や少人数でのプロトタイプ開発に、心強い味方になるのではないでしょうか?

RyotaMurohoshi
プログラミングが大好きで、 C#が大好きで、 .NETが大好きで、 LINQが大好きで、 JVM言語が大好きで、 ゲームで遊ぶことが大好きで、 ゲーム開発が大好きで、 頑張るのが大好きで、 Unityが大好きだったから...!
http://mrstar-memo.hatenablog.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした