I'm continuing here if ok to report bugs.... tell me if I have to stop or go somewhere else...
if one starts different processes , say, python web2py.py -K a0 python web2py.py -K a0 python web2py.py -K a0 python web2py.py -K a0 python web2py.py -K a0 the guess_worker_method actually returns the same value, then worker_name and the new "logic" doesn't apply. Better to figure out a worker that is different if yet found running in worker_hearbeat... or assigning it directly a uuid on start. Another small problem: fix_failures() goes on error if ids == []. a simple len()>0 check before the subsequent update fix the problem. /me goes to testing.