From f8852bedf7f10d68a0cc7dec5513f332650a48b2 Mon Sep 17 00:00:00 2001 From: Mick Vleeshouwer Date: Mon, 20 Nov 2023 11:54:43 +0100 Subject: [PATCH] Add ExecutionQueueFullException (#1047) --- .pylintrc | 1 + pyoverkiz/client.py | 5 +++++ pyoverkiz/exceptions.py | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/.pylintrc b/.pylintrc index 48762ea1..849679e4 100644 --- a/.pylintrc +++ b/.pylintrc @@ -26,3 +26,4 @@ disable= redefined-builtin max-module-lines=2000 +max-statements=60 diff --git a/pyoverkiz/client.py b/pyoverkiz/client.py index f3dddfd2..8e623380 100644 --- a/pyoverkiz/client.py +++ b/pyoverkiz/client.py @@ -43,6 +43,7 @@ BadCredentialsException, CozyTouchBadCredentialsException, CozyTouchServiceException, + ExecutionQueueFullException, InvalidCommandException, InvalidEventListenerIdException, InvalidTokenException, @@ -1002,6 +1003,10 @@ async def check_response(response: ClientResponse) -> None: if message == "too many concurrent requests": raise TooManyConcurrentRequestsException(message) + # {'errorCode': 'EXEC_QUEUE_FULL', 'error': 'Execution queue is full on gateway: #xxx-yyyy-zzzz (soft limit: 10)'} + if "Execution queue is full on gateway" in message: + raise ExecutionQueueFullException(message) + if message == "Cannot use JSESSIONID and bearer token in same request": raise SessionAndBearerInSameRequestException(message) diff --git a/pyoverkiz/exceptions.py b/pyoverkiz/exceptions.py index 2749e8f1..4cf70913 100644 --- a/pyoverkiz/exceptions.py +++ b/pyoverkiz/exceptions.py @@ -22,6 +22,10 @@ class TooManyExecutionsException(BaseOverkizException): pass +class ExecutionQueueFullException(BaseOverkizException): + pass + + class TooManyRequestsException(BaseOverkizException): pass