[Erp5-dev] activities are not being fired at all

Pelletier Vincent vincent at nexedi.com
Wed Oct 31 15:06:00 CET 2007


Le Mercredi 31 Octobre 2007 14:42, Jacek Medrzycki a écrit :
> But, as far as I see, all activities are in -1
> state and there is no activity they might be waiting for (such activity
> would have to be in state 1 or 2, wouldn't it?).

processing_node meaning:
 1..x : distributed to that node
 0 : invalid value (nothing ever sets any activity to this value)
 -1 : not yest distributed
 -2 : activity executed & failed multiple times for whatever reason (exeption 
was thrown by the activity itself)
 -3 : activity failed for more basic reason (activity engine was not able to 
call the desired method on desired object... for example if object was 
removed but activity remained)
 x..-4 : invalid values (nothing ever sets any activity to this value)

IIRC, dependencies are checked ignoring the processing_node value.

Also, I don't think there is any protection against circular activity 
dependencies curently.

> It fails in very simple cases - activity list is empty, then an
> organisation is added, which generates some activities, and they all are
> in -1 state. There is no way to make them execute (neither clearing nor
> zope restart or whatever) but to invoke them manually. All those
> activities are system-created (reindexing after obj. creation), so i
> think it's not the depedency issue 

Then it would mean that there is no distributing node defined. You can check 
that on portal_activities/manageLoadBalancing .

You can also check that portal_activities is registered to timer server on the 
same page.

> (BTW, how can I check if an activity waits for another to complete?).

There is no quick way. The first things you can see directly form MySQL tables 
are the values in "tag" and "method_id" columns. But to know which are the 
tags being waited on, you must decode the pickled message stored in activity 
tables (since a single message can depend on multiple values, it's not 
available as a separate column).

> It looks to me like timer service not working properly - but I don't
> know why. No suspicious log entries or something (log level is ALL).
> What else can I check?

I once saw a weird timerserver behaviour when non-existing objects were still 
registered to it though they had been removed. You can check that in zope 
configuration panel, timerserver section.

> I've read about gethostbyname issue on wiki, but there are more sites on
> this machine and all of them works.

Those problem should only appear on a multinode setup (zeo).

> I wonder, however, if there is a change in timer service (or related
> sites) which prevents newer revisions work with old timer server?

You can try to add a log in CMFActivity/ActivityTool.py:process_timer to see 
if it's invoked (it's the method invoked by timerserver).

-- 
Vincent Pelletier



More information about the Erp5-dev mailing list