[Mimedefang] Timeout for filter_tick

Jeff Rife mimedefang at nabs.net
Fri Apr 13 22:46:27 EDT 2007


In the man page for mimedefang-multiplexor, it says the following:

-b busyTime
  The longest a Perl process is allowed to spend scanning an e-mail 
before
  it is  declared hung up and killed.  The default is 120 seconds.

Does this timeout also apply to calls to "filter_tick"?  It appears to
from this call inside handleSlaveReceivedTick, but I want to be sure:

s->event = EventTcp_ReadBuf(es, s->slaveStdout, MAX_CMD_LEN, '\n',
                            handleSlaveReceivedAnswerFromTick,
                            Settings.busyTimeout, 1, s);

If it uses the same timeout as it appears to, I'd like to submit an RFE 
to add another flag to make this timeout different.  Set it the same if 
the new flag isn't there, but allow it to be different.

My reasoning is that you want to limit e-mail scanning time because you 
want mail to flow through, but filter_tick is only called on an idle 
slave, and there isn't any mail scanning going on.  I have a couple of 
ideas for things to do there, but they might take longer than I want a 
mail scan to take.

What I'm doing right now is optimistically generating 26-bit Hashcash 
values for recipients to which we have sent e-mail often and recently.  
It usually only takes about 30 seconds, but sometimes takes over 2 
minutes, so I've had to set the "busyTime" to a lot higher than I'd 
like for regular e-mail scanning.  

I know I could do this in a separate process running as a daemon or 
cron job, but I'd just end up duplicating a lot of the code, and would 
have to change things in too many places to keep business rules the 
same.


--
Jeff Rife |  
          | http://www.nabs.net/Cartoons/Dilbert/NoHelpDesk.jpg 





More information about the MIMEDefang mailing list