MCPcopy Create free account
hub / github.com/ZyphrZero/z.ai2api_python / record_token_failure

Method record_token_failure

app/utils/token_pool.py:363–384  ·  view source on GitHub ↗

标记失败并实时同步数据库统计。

(self, token: str, error: Exception = None, dao=None)

Source from the content-addressed store, hash-verified

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 """标记失败并实时同步数据库统计。"""
365 self.mark_token_failure(token, error)
366
367 token_id = self.get_token_id(token)
368 if token_id is None:
369 return
370
371 if dao is None:
372 from app.services.token_dao import get_token_dao
373
374 dao = get_token_dao()
375
376 try:
377 await dao.record_failure(token_id)
378 except Exception as e:
379 logger.error(f"❌ 同步 Token 失败统计失败: {e}")
380 return
381
382 with self._lock:
383 if token in self.token_statuses:
384 self.token_statuses[token].db_synced_failed_requests += 1
385
386 def get_token_id(self, token: str) -> Optional[int]:
387 """获取 Token 的数据库 ID"""

Calls 4

mark_token_failureMethod · 0.95
get_token_idMethod · 0.95
get_token_daoFunction · 0.90
record_failureMethod · 0.80