Integrations with other Seed services¶
The Seed Stage-based Messaging Store currently integrates with three other Seed services.
Seed Scheduler¶
Outgoing integrations¶
New subscription¶
When a new Subscription object is created locally (via the API or the
webhook endpoint) an async Celery task is queued to communicate to the
Seed Scheduler to create a scheduled POST-back to the Stage-based Messaging
Store endpoint (POST /subscriptions/(int:subscription_id)/send
) on the
given schedule in the subscription.
Updated subscription¶
When a Subscription object is updated locally there are two integrations to the Seed Scheduler than can occur:
- If the update is marking the Subscription as complete, an async Celery task is queued to communicate to the Seed Scheduler to deactive the scheduled POST-backs for this Subscription.
- If the update is marking the Subscription as inactive, an async Celery task is queued to communicate to the Seed Scheduler to deactive the scheduled POST-backs for this Subscription.
Incoming integrations¶
Once a schedule has been setup (see New subscription) in the
Seed Scheduler for a Subscription, the Scheduler will call the
(POST /subscriptions/(int:subscription_id)/send
) endpoint on the setup
schedule.
Seed Message Sender¶
Outgoing integrations¶
Message Sending¶
When the Subscription send endpoint (
POST /subscriptions/(int:subscription_id)/send
) is called by the
Scheduler an async Celery task is queued to process the Subscription.
During this process each message that needs to be sent will be queued by making a request to the Seed Message Sender with the relevant message and user details.
Project Hub¶
Incoming integrations¶
New registration¶
When a registration happens on the project hub it calls the
POST /subscriptions/request
endpoint with the subscription details
to create a new Subscription for the user.