configurable scheduler parameters

This commit is contained in:
Tomas Kopecek 2023-08-15 16:50:12 +02:00
parent 055fae4176
commit 1b219ee9ea
2 changed files with 16 additions and 7 deletions

View file

@ -503,6 +503,15 @@ def load_config(environ):
['RPMDefaultChecksums', 'string', 'md5 sha256'],
['SessionRenewalTimeout', 'integer', 1440],
# scheduler options
['MaxJobs', 'integer', 15],
['CapacityOvercommit', 'integer', 5],
['ReadyTimeout', 'integer', 180],
['AssignTimeout', 'integer', 300],
['SoftRefusalTimeout', 'integer', 900],
['HostTimeout', 'integer', 900],
['RunInterval', 'integer', 60],
]
opts = {}
for name, dtype, default in cfgmap:

View file

@ -191,13 +191,13 @@ class TaskScheduler(object):
self.free_tasks = []
# TODO these things need proper config
self.maxjobs = 15 # XXX
self.capacity_overcommit = 5
self.ready_timeout = 180
self.assign_timeout = 300
self.soft_refusal_timeout = 900
self.host_timeout = 900
self.run_interval = 60
self.maxjobs = context.opts['MaxJobs']
self.capacity_overcommit = context.opts['CapacityOvercommit']
self.ready_timeout = context.opts['ReadyTimeout']
self.assign_timeout = context.opts['AssignTimeout']
self.soft_refusal_timeout = context.opts['SoftRefusalTimeout']
self.host_timeout = context.opts['HostTimeout']
self.run_interval = context.opts['RunInterval']
def run(self, force=False):
if not db_lock('scheduler', wait=force):