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