RabbitMQ: Producer on the Data service and Consumer on the Notif service
The Rabbit message should be a RPC call
Notif service must have a function that creates weather alerts and send them to users that are subscribed to "alerts" and the alerts only send through if they match the location of the user
Notification service
Description
This is a service that sends user daily weather notification based on their location and schedule preference (a user-chosen time in the day where they receive weather info)
Steps
TODO
Alert service
Description
This is a background process that's gonna query the Data service every 5 minutes (arbitrary choice) using a job scheduler to check for weather alerts that users are subscribed to.
Prerequisites
[x] Create function(s) in the Alert service to fetch Users' alert preferences (See #7 ) as a list of locations.
Steps
[ ] Setup a producer in the Alert service that uses the "alert polling" queue
[x] The scheduler in the Alert service periodically checks the User database for alerts to send AND pushes a message to a RabbitMQ "alert polling" queue using the Alert's producer
[x] Setup a consumer in the Data service that processes messages from the RabbitMQ "alert polling" queue into Weather data retrieval calls
[x] Setup a producer in the Data service that add messages to the RabbitMQ "alert sending" queue
[x] Setup a consumer in the Alert service that uses the "alert sending" queue to push notifications to Pusher Beams
Requirements
Notification service
Description
This is a service that sends user daily weather notification based on their location and schedule preference (a user-chosen time in the day where they receive weather info)
Steps
TODO
Alert service
Description
This is a background process that's gonna query the Data service every 5 minutes (arbitrary choice) using a job scheduler to check for weather alerts that users are subscribed to.
Prerequisites
Steps