From 54ac8602e32a16ffa19686557f6f731fc45fec08 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 30 Jul 2008 03:33:46 +0000 Subject: Put a 5 second cap on the delay produced by Scheduler._job_delay(). svn path=/main/trunk/; revision=11277 --- pym/_emerge/__init__.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index f69928ee3..e418f0353 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -8862,6 +8862,7 @@ class Scheduler(PollScheduler): # The load average takes some time to respond when new # jobs are added, so we need to limit the rate of adding # new jobs. + self._job_delay_max = 5 self._job_delay_factor = 0.5 self._previous_job_start_time = None @@ -9690,8 +9691,10 @@ class Scheduler(PollScheduler): current_time = time.time() - if current_time - self._previous_job_start_time < \ - self._job_delay_factor * self._jobs: + delay = self._job_delay_factor * self._jobs + if delay > self._job_delay_max: + delay = self._job_delay_max + if (current_time - self._previous_job_start_time) < delay: return True return False -- cgit v1.2.3-1-g7c22