Adds logic to perpetually keep a send list up to date #519
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently after you create a campaign it does not update the user the list will be going to even if you schedule the campaign for way in the future. The initial rationale behind this is that generating a send is expensive and it's hard to know when to cutoff a list since you could be sending to a disparate group of timezones.
This logic piggybacks off of the performance improvements introduced by rule caching to check for list additions and removals to know if we should re-check a users enrollment in a campaign. If the campaign has not yet started running and a users enrollment changes, we want to reflect that in the campaign by either adding or removing the user from the send. This should at best get you granularity up until the minute before a send and at worst up to 24hrs off depending on the timezone of the user and the other users you are sending to.