The problem:
sending notifications to the owner of the expired listing
The solution:
- target pub/sub - publish messages with Cloud scheduler on 11 pm daily
- create topic/subscription - "cron-topic" / "sub_push_cron"
delivery type: push (pull )
setup endpoint on backend NodeJS use NGROK to make the local NODE server available for Google Pub/Sub
https://3274d032fcc7.ngrok.io/copper?token=YOUR_TOKEN_00hfMQOXpD - axios Graphql API: processExpiredListins (getExpiredListins => owners => sendNotificaton)
The Benefit:
- why no cloud function needed?
https://cloud.google.com/scheduler/docs/tut-pub-sub
Firebase Emulator
firebase emulators:start
need start emulator in order to make NGROK works for local server, also need create topic/subscription in local
mutation {
createPubSubTopic(topicName: "copper")
}
mutation {
createPubSubPushSubscription(topicName: "copper", subscriptionName: "sub_push_copper")
}
scheduled
https://firebase.google.com/docs/functions/schedule-functions
cloud Firestore trigger
https://firebase.google.com/docs/functions/firestore-events
to install pubsub emulator:
https://cloud.google.com/pubsub/docs/emulator
1. install google cloud sdk
https://cloud.google.com/sdk/docs/quickstart
2. gcloud components install pubsub-emulator
/Users/junwang/Downloads/google-cloud-sdk/bin/gcloud components install pubsub-emulator
3. start emlator
/Users/junwang/Downloads/google-cloud-sdk/bin/gcloud beta emulators pubsub start
firebase emulators:start
https://itnext.io/firebase-emulator-suite-6b51446ca2e7
firebase int
firebase emulator:start
schedule google cloud function:
https://cloud.google.com/scheduler/docs/tut-pub-sub
Comments
Post a Comment