[openstack-dev] [Nova][Olso] Periodic task coalescing

Tom Cammann tom.cammann at hp.com
Thu Jun 12 13:55:59 UTC 2014


Hello,

I'm addressing https://bugs.launchpad.net/oslo/+bug/1326020 which is
dealing with periodic tasks.

There is currently a code block that checks if a task is 0.2 seconds
away from being run and if so it run now instead. Essentially
coalescing nearby tasks together.

 From oslo-incubator/openstack/common/periodic_task.py:162

# If a periodic task is _nearly_ due, then we'll run it early
idle_for = min(idle_for, spacing)
if last_run is not None:
     delta = last_run + spacing - time.time()
     if delta > 0.2:
         idle_for = min(idle_for, delta)
         continue

However the resolution in the config for various periodic tasks is by
the second, and I have been unable to find a task that has a
millisecond resolution. I intend to get rid of this coalescing in this
bug fix.

It fits in with this bug fix as I intend to make the tasks run on their
specific spacing boundaries, i.e. if spacing is 10 seconds, it will run
at 17:30:10, 17:30:20, etc.

Is there any reason to keep the coalescing of tasks?

Thanks,

Tom




More information about the OpenStack-dev mailing list