[Zope] pipedream : fork a dtml-method within zope ?

chas panda@skinnyhippo.com
Thu, 03 Feb 2000 07:50:20 +0800


Thanks for the reply last week and sorry for my late
follow up - my ISP sucks.

>>b. Is it possible in any way to fork that mailing 
>>   process (which is actually just one dtml method), 
>>   so that it can be completed without slowing down 
>>   the rendering of the page ?
>>   I'm guessing this is totally beyond zope.
>>
>You can do this in an External Method

Yes, but External methods still have to be fully 
executed before the page is returned/rendered, if 
I'm not mistaken.

Unless you're suggesting I use a multi-threaded 
python script in the external method. But then 
I'd lose all the  ease-of-use of Zope's MailHost
and ZSQL features.

Yeah, I guess I want to have my cake and eat it.

Actually, what I was looking for is the Zope
equivalent of DELAYED_INSERT in MySQL which 
causes (time-consuming) inserts to be delayed,
allowing the program that requests them to 
return flow control much faster. 


Thanks also to Anthony Baxter (once again) for 
his suggestions : 


>How about something like 'write the message and the recipients to
>a database table, then have something poll that table.'

Nice idea if I do have to resort to a cronjob - saves having
to backtrack through all of the forums/discussions.

>Or have a local mailer set up to receive messages for delivery
>immediately, and point Zope at that - actually formatting up
>the message for delivery shouldn't take that long (particularly
>if it's the same message - you format it once, send it 12 times.)

Perhaps - I've just not been overly impressed with the speed of
any forms that send mail (and it's a local mailserver, residing on
the webserver) .... I will have to benchmark the speeds for long 
threads (with up to 40 participants to be e-mailed).

Thanks for your help,

chas