add rate limiting to build queues
This commit is contained in:
parent
f0b19b26c9
commit
7877c6ab94
6 changed files with 36 additions and 8 deletions
|
@ -10,9 +10,9 @@ from util.invoice import renderInvoiceToHtml
|
|||
from util.useremails import send_invoice_email, send_subscription_change, send_payment_failed
|
||||
from util.http import abort
|
||||
from buildtrigger.basehandler import BuildTriggerHandler
|
||||
from buildtrigger.triggerutil import (ValidationRequestException, SkipRequestException,
|
||||
from buildtrigger.triggerutil import (ValidationRequestException, SkipRequestException,
|
||||
InvalidPayloadException)
|
||||
from endpoints.building import start_build
|
||||
from endpoints.building import start_build, MaximumBuildsQueuedException
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
@ -104,7 +104,10 @@ def build_trigger_webhook(trigger_uuid, **kwargs):
|
|||
|
||||
pull_robot_name = model.build.get_pull_robot_name(trigger)
|
||||
repo = model.repository.get_repository(namespace, repository)
|
||||
start_build(repo, prepared, pull_robot_name=pull_robot_name)
|
||||
try:
|
||||
start_build(repo, prepared, pull_robot_name=pull_robot_name)
|
||||
except MaximumBuildsQueuedException:
|
||||
abort(429)
|
||||
|
||||
return make_response('Okay')
|
||||
|
||||
|
|
Reference in a new issue