Drip Queueing Logic
Our system handles the queueing of drip emails in a structured and efficient manner. Let's dive into the details of how this process works.
Cron (Timed) Jobs
We have one cron job set up to trigger the queueing of drips. More details can be found here.
These cron jobs ensure that the queueing process is triggered at the appropriate times.
Queueing Process
The main queueing process is handled by the QueueDrips function in the blaster package. Here's a breakdown of the steps involved:
- Retrieve the
Associatebased on the providedAssociateID. - Fetch the dripping
BlastContacts for theAssociate, ordered by oldest first. - Iterate over the found
BlastContacts and do the following:
- Check if the rate limit is reached for the current
Associate. If so, skip to the next one. - Queue the
BlastContactfor dripping
That covers the main logic behind how we queue emails for drips. The process is designed to handle rate limiting, and ensure that the emails are sent at the appropriate times.