build rate limiting: tests

This commit is contained in:
Jimmy Zelinskie 2016-12-06 14:47:02 -05:00
parent 57770493fa
commit eb69abff8b
3 changed files with 31 additions and 7 deletions

View file

@ -25,10 +25,13 @@ class MaximumBuildsQueuedException(Exception):
def start_build(repository, prepared_build, pull_robot_name=None):
queue_item_prefix = '%s/%s' % repository.namespace_user.username, repository.name
queue_item_prefix = '%s/%s' % (repository.namespace_user.username, repository.name)
if MAX_BUILD_QUEUE_ITEMS > 0 and MAX_BUILD_QUEUE_SECS > 0:
available_min = datetime.utcnow() - timedelta(seconds=-MAX_BUILD_QUEUE_SECS)
available_builds = dockerfile_build_queue.num_available_jobs(available_min, queue_item_prefix)
now = datetime.utcnow()
available_min = now - timedelta(seconds=MAX_BUILD_QUEUE_SECS)
available_builds = dockerfile_build_queue.num_available_jobs_between(available_min,
now,
queue_item_prefix)
if available_builds > MAX_BUILD_QUEUE_ITEMS:
raise MaximumBuildsQueuedException()