Another one that got hung up in my drafts folder.  Same as the other,
I think the basic coding probably is solved by now, but I'm worried
we're not communicating about what the design problems are.

Aaryan Bhagat writes:

 > According to me, I think a new command which takes all the
 > `Address` instances and in each instances checks which tuple of
 > `bounce_info` have `disabled` attribute true. If it sees the
 > `disabled` attribute of a tuple to be true it will roughly:

 > - Send a warning

Shouldn't you first check if the disabled_warning_interval has been
exceeded, and if it has, send a warning?  Or is that what you mean by
"check with the threshold" below?

 > - Increase warning counter

Incrementing the warning counter should always happen if the mail is
successfully sent.

 > - Check with the threshold

What "threshold"?  The disabled_warning_interval?

 > - Updates last_warning_sent timestamp value

Updated this timestamp should always happen if the mail is
successfully sent.

I don't know offhand how any of the above operations could fail, and
most likely to fail is sending mail, which is handled by the virgin,
outgoing, and retry queues, not by the logic you're working on here.
Still, perhaps some of the operations should be conditional on
success.  Also, you need to think about what happens if the warning
fails for some address.  Probably you just treat that as equivalent to
a bounce in most cases, but what happens if it's a "no such address"?
Is that already handled?

Note that adding to the virgin queue probably can't fail (except in
really bad circumstances such as out of memory), but simply adding the
message to the retry queue may not be appropriate (I forget how often
that queue gets flushed).

If that doesn't make sense given what you know about how the queues
work, then don't worry about it -- you probably know more about the
queues than I do at this point.

 > The newly updated tuple ( with the updated counter and timestamp )
 > will be stored again.

 > I will add it to a cron job.

Cron job is what Mark suggested so that seems fine.

Steve
_______________________________________________
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9

Reply via email to