yeps.
this is expected, but every ~15 seconds that turns to "True" (meaning more
or less "I'm the Ticker, I'm free, I was free in the last 15 seconds, let's
see if there are any submitted (or repeating) tasks to assign").
I don't have a python interpreter ATM but let's break up the logic, so
everyone can follow (and explaining most of the times lights up the
underlying problem, let's hope so)
Who "tells" if that process is a Ticker is the "being_a_ticker()" function.
being_a_ticker() is wrapped in a try_except clause, so you should see the
error logging in case something goes wrong --> Error coordinating TICKER
one level up, do_assign_task is set every 5 cycles (or when "PICK" is
found), with the "prune dead workers" logic in the same statements...that
too is wrapped and should log --> Error cleaning up
one level up, the whole thread checking is wrapped and should log --> Error
retrieving status
Now, you get "I'm a TICKER", so the being_a_ticker() is getting executed,
and you don't have any errors reported...... this is the relevant snippet
try:
self.is_a_ticker = self.being_a_ticker()
except:
logger.error('Error coordinating TICKER')
if self.worker_status[0] == ACTIVE:
self.do_assign_tasks = True
So...... either the worker status is not ACTIVE at that moment, or
self.do_assign_task is set to True .....
--
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.