[Mailman-Developers] Outgoin queue sugestion

The Dragon De Monsyne dragondm@delta.integral.org
Fri, 25 Sep 1998 16:16:47 -0500 (CDT)

On Fri, 25 Sep 1998, Dan Ohnesorg, admin of POWER wrote:

> I become sometimes irriting error messages cannot unlink....... by 
> queue processing. So I sugest this modification of dequeue 
> function
> def dequeueMessage(msg):
>     import os
>     try:
>      os.unlink(msg)
>     except:
>      from Logging.StampedLogger import StampedLogger
>      l = StampedLogger("queue", "DequeueMessage", immediate=1)
>      l.write("Cannot remove:\t %s\n" % msg)
>      l.flush()     
> I currently dont know why this error happens, I still searching.

	Oh, I know why this happens. It's related to the duplicate
delivery problem. Another proccess has delivered the queued message out
from under the first one. (and deleted the queue file, which is why the
first process cannot delete the message. ) 

	I've actually fixed this problem, by the simple expediant of
making all of the Mailman programs simply queue, and not try to deliver,
outgoing messages. Then I have a modified run_queue program that runs
continuously, de-queueing and delivering messages. Works great, sofar. 
	If anyone's interested in the diffs. let me know. (I mentioned
this whence I first did this, bout a month ago, but noone seemed
interested then. )

	-The Dragon De Monsyne