build rate limiting: use a rate
This commit is contained in:
parent
7877c6ab94
commit
57770493fa
3 changed files with 18 additions and 9 deletions
|
@ -77,9 +77,11 @@ class WorkQueue(object):
|
|||
._available_jobs(now, name_match_query)
|
||||
.where(~(QueueItem.queue_name << running_query)))
|
||||
|
||||
def num_available_jobs(self, prefix):
|
||||
def num_available_jobs(self, available_min_time, prefix):
|
||||
prefix = prefix.lstrip('/')
|
||||
return self._available_jobs(datetime.utcnow(), self._name_match_query() + prefix).count()
|
||||
available = self._available_jobs(datetime.utcnow(),
|
||||
self._name_match_query() + prefix)
|
||||
return available.where(QueueItem.available_after >= available_min_time).count()
|
||||
|
||||
def _name_match_query(self):
|
||||
return '%s%%' % self._canonical_name([self._queue_name] + self._canonical_name_match_list)
|
||||
|
|
Reference in a new issue