diff --git a/kojihub/scheduler.py b/kojihub/scheduler.py index 8d29d729..9671ff33 100644 --- a/kojihub/scheduler.py +++ b/kojihub/scheduler.py @@ -64,17 +64,18 @@ def scheduler_map_task(taskinfo): class TaskScheduler(object): + def __init__(self): + self.hosts_by_bin = None + def run(self): if not self.get_lock(): # already running elsewhere return False - runs = getTaskRuns() - runs_by_task = {} - for run in runs: - runs_by_task.setdefault(run['task_id'], []) - runs_by_task[run['task_id']].append(run) + self.do_schedule() + return True + def do_schedule(self): # get tasks to schedule tasks = self.get_free_tasks() tasks_by_bin = {} @@ -138,9 +139,6 @@ class TaskScheduler(object): # XXX need host self.add_run(task, host) - # indicate that scheduling ran - return True - def get_free_tasks(self): """Get the tasks that need scheduling""" diff --git a/schemas/schema.sql b/schemas/schema.sql index 2a555e7d..ee62bc42 100644 --- a/schemas/schema.sql +++ b/schemas/schema.sql @@ -1012,6 +1012,7 @@ CREATE TABLE scheduler_map ( host_id INTEGER REFERENCES host (id) NOT NULL, runnable BOOLEAN NOT NULL, refused BOOLEAN NOT NULL, + msg TEXT, check_time TIMESTAMPTZ NOT NULL DEFAULT NOW() ) WITHOUT OIDS;