LEP/BounceHandling/Implementation

Not logged in - Log In / Register

Implementation Notes

These are very rough so far.

The big picture is that we will have a bounce processor service that is responsible for listening and responding to two or three different channels (LMTP, RabbitMQ, and some HTTP protocol); and some associated changes to Launchpad.

I want to keep a given state in only one location. The bounce processor will be responsible for remembering the "score" of all bounced emails, and all associated data for maintaining the score. Launchpad will only be responsible for remembering whether an account is in the "disabled preferred email" state.

Bounce processor service

[Notes from the weeds: Long term persistence would therefore need to keep track of these things. - each email address would have a bounce score, a reference to the last bounce message (so we can get the date from the bounce information at least, and maybe also give visibility to the full message for customer help situations), last probe timestamp, disabled_status. - bounce messages would minimally want dates, and message text.

As noted above, I believe all of the data stored could be eventually consistent. Because of this, I'm interested in Cassandra as a persistence layer.]

Launchpad

Proposed incremental deliverables

XXX LP only stuff first, admin controlled. ugly first, then pretty. XXX more

LEP/BounceHandling/Implementation (last edited 2011-07-12 20:02:48 by gary)