firebase functions使うとちょっとしたものを公開するのにすごく便利なわけで。
それにhttpsだけではなくpub/subなんていうのもあったりする。
このpub/subを使うとcronみたいなスケジュール的なことができたり。
ってことで今日はこのpubsubのテストをするには的なお話をば。
import * as functions from 'firebase-functions'; const hoge = functions.pubsub.schedule('every 1 minutes').onRun((context) => { console.log("hoge"); return null; })
とりあえずこんな感じで1分ごとにhogeをconsoleする関数を作る的な。
pubsubのあとにscheduleで繋げば大丈夫的な。
もちろんcron的な書き方もできたり。
で、このpub/sub自体はnpm run serve(firebase serve --only functions)でテストすることができず。
なのでnpm run shell(firebase functions:shell)を使うとpubsubだけでなく他の関数もテストすることができるようになるという。
✔ functions: Emulator started at http://localhost:5000 i functions: Loaded functions: hoge firebase > hoge() 'Successfully invoked function.' firebase > > hoge
ってな感じで対話型でどの関数を実行するか?と聞かれるので、実行していくと。
関数を実行したいからちゃんとhoge()とする必要がある。
ちなみに引数とかも渡すことができるので便利。
けどcron的に毎分実行してくれるとかはできなかったんだけど、自分の設定が悪いのかなんなのかはよくわからず。
ってな感じでとりあえずfunctions:shellを使えばpubsubもテストできるよ的なみたいな。
0 件のコメント:
コメントを投稿