Commit e241ce57 authored by Your Name's avatar Your Name

Fix user provider rate limit and error tracking initialization

parent 160e0766
...@@ -122,17 +122,7 @@ def get_provider_handler(provider_id: str, api_key: Optional[str] = None, user_i ...@@ -122,17 +122,7 @@ def get_provider_handler(provider_id: str, api_key: Optional[str] = None, user_i
handler = handler_class(provider_id, api_key) handler = handler_class(provider_id, api_key)
# Set user_id manually for base class compatibility # Set user_id manually for base class compatibility
handler.user_id = user_id handler.user_id = user_id
# Fix error tracking and rate limit for user providers # Base class already handles default error tracking and rate limit for user providers
if user_id is not None:
handler.error_tracking = {
"enabled": True,
"max_errors": 5,
"cooldown_seconds": 60,
"failures": 0,
"last_failure": 0,
"disabled_until": None
}
handler.rate_limit = 60
# Store user provider config on the handler for later use # Store user provider config on the handler for later use
if user_id is not None and provider_config is not None: if user_id is not None and provider_config is not None:
......
...@@ -748,9 +748,7 @@ class BaseProviderHandler: ...@@ -748,9 +748,7 @@ class BaseProviderHandler:
self.user_provider_config = None self.user_provider_config = None
# Get error tracking config - use user-specific or default to global # Get error tracking config - use user-specific or default to global
if user_id is not None and provider_id in config.error_tracking: if user_id is not None:
self.error_tracking = config.error_tracking[provider_id]
elif user_id is not None:
# Default error tracking for user providers # Default error tracking for user providers
self.error_tracking = { self.error_tracking = {
"enabled": True, "enabled": True,
...@@ -766,8 +764,9 @@ class BaseProviderHandler: ...@@ -766,8 +764,9 @@ class BaseProviderHandler:
self.last_request_time = 0 self.last_request_time = 0
# Get rate limit - use user-specific or default to global # Get rate limit - use user-specific or default to global
if user_id is not None and provider_id in config.providers: if user_id is not None and hasattr(self, 'user_provider_config') and self.user_provider_config is not None:
self.rate_limit = config.providers[provider_id].rate_limit # User provider config (dict)
self.rate_limit = self.user_provider_config.get('rate_limit', 60)
elif user_id is not None: elif user_id is not None:
# Default rate limit for user providers # Default rate limit for user providers
self.rate_limit = 60 self.rate_limit = 60
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment