68
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

以前、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を使っているので、把握していた方がベターではありますが。)

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

68
45
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
68
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?