phase6: add provider abstraction, mvp adapter, and ingestion sync tasks
This commit is contained in:
18
apps/providers/exceptions.py
Normal file
18
apps/providers/exceptions.py
Normal file
@ -0,0 +1,18 @@
|
||||
class ProviderError(Exception):
|
||||
"""Base provider exception."""
|
||||
|
||||
|
||||
class ProviderTransientError(ProviderError):
|
||||
"""Temporary provider failure that can be retried."""
|
||||
|
||||
|
||||
class ProviderRateLimitError(ProviderTransientError):
|
||||
"""Raised when provider rate limit is hit."""
|
||||
|
||||
def __init__(self, message: str, retry_after_seconds: int = 30):
|
||||
super().__init__(message)
|
||||
self.retry_after_seconds = retry_after_seconds
|
||||
|
||||
|
||||
class ProviderNotFoundError(ProviderError):
|
||||
"""Raised when an unknown provider namespace is requested."""
|
||||
Reference in New Issue
Block a user