Exceptions, timeouts, and retries
Handle authentication, validation, permission, subscription, not-found, network, request-timeout, and processing-timeout failures.
from unitlab import (
AuthenticationError, ValidationError, NotFoundError,
PermissionDeniedError, SubscriptionError, NetworkError,
RequestTimeoutError, ProcessingTimeoutError,
)
try:
status = project.batch_queue("BATCH_ID").wait(timeout=900)
except ProcessingTimeoutError as exc:
print("last status", exc.status)
except AuthenticationError:
raise
except (ValidationError, PermissionDeniedError) as exc:
print(exc.code, str(exc))
except RequestTimeoutError:
# Inspect server-side state before retrying a mutation.
raise
except NetworkError as exc:
print(exc.code, str(exc))Operating contract
Concern
Required behavior
Failure and recovery boundary
Condition
Response