[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ZMailer scheduler directories



Hello People,

	I have been hammering the code around recently, and when
	lookingf for solutions on the problems of scheduler looseing
	its senses occasionally, when it starts childs.

	My solution has been rather drastic:
		$POSTOFFICE/scheduler/ directory is removed

	Now my 2.99.15 router links/renames the scheduler file only
	into  $POSTOFFICE/transport/, and the scheduler runs on that
	directory feeding its childs only with file names in there.

	This should improve performance (at least a bit) because it
	isn't all the time doing disk-synchronous directory operations
	by creating directories (channels/hosts), and linking files in
	them.  Also now it won't make a mistake of unlinking
		"$POSTOFFICE/scheduler/channel/1234"
	file before a work-file in there is handled.. :-)

	All my tests of multi-recipient messages have been successfull
	in a sense that the scheduler didn't delete the job-file before
	all recipients were handled, however the "Mail -v recipients"
	processing broke a bit, because now (for other reasons) the
	channels may append more reports to the log-file AFTER the scheduler
	puts its "scheduler done processing" in it  -> verbose tracer
	hangs waiting additional text...

	Another technical detail is that the scheduler looks up the new
	work-files by reading thru the directory every now and then
	(ever 10-20 seconds), and checking from internal splay-tree,
	if the file is not already in works, and therefore is eligible
	for "new queue".  The lookup results are pushed into a "new queue"
	which is sorted time-wise, and the messages are scheduled from
	the queue one at the time in the main loop.
	(Oldest first, of course)

	Apparently the startup latency problem was solved with this, however
	other parts of the scheduler system are still a bit too sluggish for
	my taste..

	I run it on  my Linux workstation, Linux laptop (of course :-) ),
	DEC OSF/1v3.2A, and SUN Solaris 2.4.

	I am still unhappy of several things, and therefore unwilling to
	to release it quite yet., Patience...


	/Matti Aarnio <mea@nic.funet.fi>