mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-06-07 07:55:16 +02:00
27 lines
951 B
Python
27 lines
951 B
Python
"""
|
|
Campaign service exceptions.
|
|
"""
|
|
|
|
|
|
class ConcurrentSlotAcquisitionError(Exception):
|
|
"""Raised when a concurrent call slot cannot be acquired within the timeout period."""
|
|
|
|
def __init__(self, organization_id: int, campaign_id: int, wait_time: float):
|
|
self.organization_id = organization_id
|
|
self.campaign_id = campaign_id
|
|
self.wait_time = wait_time
|
|
super().__init__(
|
|
f"Failed to acquire concurrent slot for org {organization_id}, "
|
|
f"campaign {campaign_id} after waiting {wait_time:.1f}s"
|
|
)
|
|
|
|
|
|
class PhoneNumberPoolExhaustedError(Exception):
|
|
"""Raised when no phone numbers are available in the pool for outbound calls."""
|
|
|
|
def __init__(self, organization_id: int):
|
|
self.organization_id = organization_id
|
|
super().__init__(
|
|
f"All phone numbers are in use for org {organization_id}. "
|
|
f"No available from_number in pool."
|
|
)
|