Spaces:
Running
Running
worker test
Browse files
services/api_key_manager.py
CHANGED
|
@@ -77,9 +77,9 @@ async def get_least_used_key(db: AsyncSession) -> Tuple[int, str]:
|
|
| 77 |
selected_index = i
|
| 78 |
else:
|
| 79 |
# Key not in DB yet - create it and use it (0 requests)
|
|
|
|
| 80 |
new_usage = ApiKeyUsage(key_index=i, total_requests=0, success_count=0, failure_count=0)
|
| 81 |
db.add(new_usage)
|
| 82 |
-
await db.commit()
|
| 83 |
selected_index = i
|
| 84 |
break
|
| 85 |
|
|
@@ -116,7 +116,7 @@ async def record_usage(db: AsyncSession, key_index: int, success: bool, error_me
|
|
| 116 |
usage.last_error = error_message[:1000] # Truncate to 1000 chars
|
| 117 |
usage.last_used_at = datetime.utcnow()
|
| 118 |
|
| 119 |
-
|
| 120 |
logger.debug(f"Recorded {'success' if success else 'failure'} for key index {key_index}")
|
| 121 |
|
| 122 |
|
|
|
|
| 77 |
selected_index = i
|
| 78 |
else:
|
| 79 |
# Key not in DB yet - create it and use it (0 requests)
|
| 80 |
+
# Note: Don't commit here - caller handles transaction
|
| 81 |
new_usage = ApiKeyUsage(key_index=i, total_requests=0, success_count=0, failure_count=0)
|
| 82 |
db.add(new_usage)
|
|
|
|
| 83 |
selected_index = i
|
| 84 |
break
|
| 85 |
|
|
|
|
| 116 |
usage.last_error = error_message[:1000] # Truncate to 1000 chars
|
| 117 |
usage.last_used_at = datetime.utcnow()
|
| 118 |
|
| 119 |
+
# Note: Don't commit here - caller handles transaction atomically
|
| 120 |
logger.debug(f"Recorded {'success' if success else 'failure'} for key index {key_index}")
|
| 121 |
|
| 122 |
|