标记成功并实时同步数据库统计。
(self, token: str, dao=None)
| 338 | logger.warning(f"🚫 Token 已禁用: {token[:20]}... (失败 {status.failure_count} 次)") |
| 339 | |
| 340 | async def record_token_success(self, token: str, dao=None): |
| 341 | """标记成功并实时同步数据库统计。""" |
| 342 | self.mark_token_success(token) |
| 343 | |
| 344 | token_id = self.get_token_id(token) |
| 345 | if token_id is None: |
| 346 | return |
| 347 | |
| 348 | if dao is None: |
| 349 | from app.services.token_dao import get_token_dao |
| 350 | |
| 351 | dao = get_token_dao() |
| 352 | |
| 353 | try: |
| 354 | await dao.record_success(token_id) |
| 355 | except Exception as e: |
| 356 | logger.error(f"❌ 同步 Token 成功统计失败: {e}") |
| 357 | return |
| 358 | |
| 359 | with self._lock: |
| 360 | if token in self.token_statuses: |
| 361 | self.token_statuses[token].db_synced_successful_requests += 1 |
| 362 | |
| 363 | async def record_token_failure(self, token: str, error: Exception = None, dao=None): |
| 364 | """标记失败并实时同步数据库统计。""" |