[Grok-dev] Triggering recurring events and executing tasks in the "background"

Gary Poster gary at zope.com
Thu Mar 27 10:15:16 EDT 2008

On Mar 27, 2008, at 4:09 AM, Tim Terlegård wrote:
> On Mar 26, 2008, at 4:02 PM, Gary Poster wrote:
>> I can't help but mention zc.async, which is now in a push to  
>> actually be used here at ZC.  It shouldn't be used--and perhaps  
>> can't be used--by anybody other than us right now, I'd say (so that  
>> we're the ones dealing with breakage at this stage) but, as I said,  
>> I can't help myself:
>> http://svn.zope.org/zc.async/branches/dev/src/zc/async/README.txt?rev=84809&view=auto
>> lovely.remotetask is very similar in design to the Zope 2 zasync  
>> that we did some years back.  This new design is intended to  
>> address a lot of concerns with that design.
> What will the difference be between lovely.remotetask and zc.async  
> use case-wise?

Hi Tim.  Pretty much identical use cases, though there are some subtle  
differences here and there.  async is lower-level, but also hopefully  
easier to use in some common use cases.  On the other hand,  
remotetask, for instance, has built-in cron jobs, which would need to  
be tied together yourself (albeit trivially) in async.

Configuration flexibility is one of our biggest drives to resurrect  
the project ("resurrect": it is technically older than remotetask,  
though the original version was tied-to-the-hip with the Twisted-based  
Zope server, which proved to be a death knell for it at the time).

The approach to creating jobs is lighter-weight too, from an API  
perspective--though some might argue for the explicit "service"  
registration of remotetask and the original zasync.  I obviously would  
disagree, from experience with zasync. ;-)

I think the lighter-weight approach, combined with the configuration  
flexibility, encourages some interesting uses such as blackboards and  
decomposing a job into parallel tasks; broadcasting events or messages  
across multiple processes; and so on.  remotetask, now or with some  
effort, could accomplish these too, but I think the async design  
favors this use case more.

Folks have very different perspectives and values, so, while I hope  
that async gets traction and is preferred by some or many, I suspect  
that remotetask will be preferred by some or many.



More information about the Grok-dev mailing list