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

Method get_pool_status

app/utils/token_pool.py:390–430  ·  view source on GitHub ↗

获取 Token 池状态信息

(self)

Source from the content-addressed store, hash-verified

388 return self.token_id_map.get(token)
389
390 def get_pool_status(self) -> Dict:
391 """获取 Token 池状态信息"""
392 with self._lock:
393 available_count = len(self._get_available_user_tokens())
394 total_count = len(self.token_statuses)
395 healthy_count = sum(1 for status in self.token_statuses.values() if status.is_healthy)
396
397 # 统计各类型 Token
398 user_count = sum(1 for s in self.token_statuses.values() if s.token_type == "user")
399 guest_count = sum(1 for s in self.token_statuses.values() if s.token_type == "guest")
400 unknown_count = sum(1 for s in self.token_statuses.values() if s.token_type == "unknown")
401
402 status_info = {
403 "total_tokens": total_count,
404 "available_tokens": available_count,
405 "unavailable_tokens": total_count - available_count,
406 "healthy_tokens": healthy_count,
407 "unhealthy_tokens": total_count - healthy_count,
408 "user_tokens": user_count,
409 "guest_tokens": guest_count,
410 "unknown_tokens": unknown_count,
411 "current_index": self._current_index,
412 "tokens": []
413 }
414
415 for token, status in self.token_statuses.items():
416 status_info["tokens"].append({
417 "token": f"{token[:10]}...{token[-10:]}",
418 "token_id": status.token_id,
419 "token_type": status.token_type,
420 "is_available": status.is_available,
421 "failure_count": status.failure_count,
422 "success_count": status.successful_requests,
423 "success_rate": f"{status.success_rate:.2%}",
424 "total_requests": status.total_requests,
425 "is_healthy": status.is_healthy,
426 "last_failure_time": status.last_failure_time,
427 "last_success_time": status.last_success_time
428 })
429
430 return status_info
431
432 def update_token_type(self, token: str, token_type: str):
433 """更新 Token 类型(用于健康检查后更新)"""

Callers 7

lifespanFunction · 0.45
get_token_pool_statusFunction · 0.45
health_check_tokensFunction · 0.45
sync_token_poolFunction · 0.45
collect_admin_statsFunction · 0.45

Calls 1

Tested by

no test coverage detected