Fix wrong parameter reference in periodic decorator
When setting up polling tasks with different interval, peroidic decorator refers one outside variable, polling_task. However, this happends in For loop, so that polling_task is constant across all iterations and all intervals are related to last polling_task. This patch adds extra parameter for the decorator function to fix it. Change-Id: Id3be9078a9b9c8e0598cd7ddc88ccd02d6665d16 Closes-Bug: #1606852
This commit is contained in:
parent
77b5ff2472
commit
ca31c2392a
@ -402,11 +402,11 @@ class AgentManager(service_base.PipelineBasedService):
|
||||
else delay_polling_time)
|
||||
|
||||
@periodics.periodic(spacing=interval, run_immediately=False)
|
||||
def task():
|
||||
self.interval_task(polling_task)
|
||||
def task(running_task):
|
||||
self.interval_task(running_task)
|
||||
|
||||
utils.spawn_thread(utils.delayed, delay_time,
|
||||
self.polling_periodics.add, task)
|
||||
self.polling_periodics.add, task, polling_task)
|
||||
|
||||
if data:
|
||||
# Don't start useless threads if no task will run
|
||||
|
Loading…
Reference in New Issue
Block a user