queuedDelivery should be overridable
Bug #191143 reported by
Marc Tardif
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Zope 3 |
Won't Fix
|
Undecided
|
Unassigned | ||
zope.sendmail |
Fix Released
|
Medium
|
Tres Seaver | ||
zope.sendmail (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
The use case is where a configuration can be used in the context of a daemon and also in the context of a command line application, such as a cron for example. The problem is that if the configuration happens to define queuedDelivery, the application typically never exits because there is a thread continuously polling the queuePath. The solution would be to provide a mechanism to have includeOverrides replace queuedDelivery with directDelivery. In order to support this feature, the discriminator for both would have to be the same. However, they are currently different which makes the override impossible. Please see the patch attached to this message.
Related branches
lp:~logan/ubuntu/quantal/zope.sendmail/new-upstream
- Barry Warsaw (community): Approve
- Ubuntu branches: Pending requested
-
Diff: 512 lines (+140/-64)9 files modifiedCHANGES.txt (+10/-0)
PKG-INFO (+39/-29)
debian/changelog (+9/-0)
debian/control (+1/-1)
setup.py (+1/-1)
src/zope.sendmail.egg-info/PKG-INFO (+39/-29)
src/zope/sendmail/queue.py (+7/-1)
src/zope/sendmail/tests/test_queue.py (+32/-1)
src/zope/sendmail/zcml.py (+2/-2)
Changed in zope3: | |
status: | New → Won't Fix |
tags: | added: bugday20100424 |
Changed in zope.sendmail: | |
assignee: | nobody → Tres Seaver (tseaver) |
milestone: | none → 3.7.5 |
Changed in zope.sendmail (Ubuntu): | |
status: | New → Fix Committed |
To post a comment you must log in.
This patch looks sane to me, but I don't know the innards of zope.sendmail very well. A couple of points in its favor:
- All tests continue to pass with the patch applied.
- The change to the discriminator makes it match what the handler actually does at execution time.
One downside: the patch does not add a test which demonstrates the failure case.