[Zope-CMF] [DCWorkflow] active workflows

Dieter Maurer dieter at handshake.de
Fri Jan 7 14:24:15 EST 2005


Thank you for your feedback!

Florent Guillaume wrote at 2005-1-7 15:57 +0100:
>Dieter Maurer  <dieter at handshake.de> wrote:
>> ... "active" workflows (where transition happens automatically) ...
>> ...
>> I plan to use this extension as follows to implement an
>> "active" state:
>> ...
>>   The scheduling service calls "probe" at the given time.
>>   This reschedules and then checks for automatic
>>   transitions. If one is electable and leaves the state,
>>   the schedule request is canceled.
>> 
>> 
>> What do you think about this approach?
>
>Do you really perform a transition every time the object is probed ?
>This will have the side effect of writing a new status and thus
>modifying the object, which in itself is bad,

You are right. I should avoid changing the status.

>and also doesn't scale if
>you have thousands of objects that are probed once in a while.
>
>It seems to me that you're implementing a much more general framework
>than your immediate need. I'd simply store an additional variable on the
>state, like 'expire_after', and have a catalog search that gets all the
>objects to expire.

I am convinced that it scales much better to let a scheduling service
"wake up" the workflow at usually precisely the right time than
to perform continued catalog queries to find objects to be woken
up.

-- 
Dieter


More information about the Zope-CMF mailing list