From: Zack Cerza Date: Tue, 29 Apr 2014 16:30:50 +0000 (-0500) Subject: Calculate a timeout to use based on queue size X-Git-Tag: 1.1.0~1507 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3fa6271f1a1e83c61c5461fdfbc9898b4b52a88b;p=teuthology.git Calculate a timeout to use based on queue size Signed-off-by: Zack Cerza --- diff --git a/teuthology/beanstalk.py b/teuthology/beanstalk.py index ebbe9dbc..34e831cc 100644 --- a/teuthology/beanstalk.py +++ b/teuthology/beanstalk.py @@ -35,11 +35,13 @@ def walk_jobs(connection, tube_name, callback, pattern=None): log.info('No jobs in Beanstalk Queue') return + # Try to figure out a sane timeout based on how many jobs are in the queue + timeout = job_count / 2000.0 * 60 matching_jobs = OrderedDict() for i in range(1, job_count + 1): sys.stderr.write("{i}/{count}\r".format(i=i, count=job_count)) sys.stderr.flush() - job = connection.reserve(timeout=30) + job = connection.reserve(timeout=timeout) if job is None or job.body is None: continue job_config = yaml.safe_load(job.body)