From: Zac Medico Date: Wed, 30 Jul 2008 03:33:46 +0000 (-0000) Subject: Put a 5 second cap on the delay produced by Scheduler._job_delay(). X-Git-Tag: v2.2_rc5~7 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=54ac8602e32a16ffa19686557f6f731fc45fec08;p=portage.git Put a 5 second cap on the delay produced by Scheduler._job_delay(). svn path=/main/trunk/; revision=11277 --- 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