LoginSignup
5
1

More than 5 years have passed since last update.

nodejs で firestore を利用した際にプロセス終了できなくなった時の対応

Last updated at Posted at 2019-04-02

(2019/4/4 追記: そもそも nodejs で実行する環境 (Cloud Functions など)であれば firebase-admin を利用する方が何かと都合がよく、app.delete() せずともプロセス終了可能だった、というか delete メソッドがそもそもない。)

標題の件。

どうにもプロセスが終了しないので、process.exit() してみたが行儀がよくなさそうなのでもう少し調べたら app.delete() で終了できるという情報があった。

node process doesn't exit after firebase once
https://stackoverflow.com/questions/18046639/node-process-doesnt-exit-after-firebase-once

use firebase.delete() instead. firebase.google.com/docs/reference/node/firebase.app.App#delete – pantos27 Jun 13 '17 at 20:58

コード例

自分のケースだと firestore を利用していたので、db.app.delete() することでプロセスを終了することができた。

const db = firebase.firestore()
const usersRef = db.collection('users')

usersRef
  .get()
  .then((snapshot) => {
    // 処理 ...

    // app インスタンスを消す(閉じる)ことによりプロセス終了できるようになる
    db.app.delete()
  })
5
1
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
5
1