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

Function run_token_maintenance_api

app/admin/api.py:804–866  ·  view source on GitHub ↗

立即执行一次 Token 维护。

(request: Request)

Source from the content-addressed store, hash-verified

802
803@router.post("/tokens/maintenance/run", dependencies=[Depends(require_auth)])
804async def run_token_maintenance_api(request: Request):
805 """立即执行一次 Token 维护。"""
806 from app.core.config import settings
807 from app.services.token_automation import run_token_maintenance
808
809 form_data = await request.form()
810 action_fields = (
811 "auto_remove_duplicates",
812 "auto_health_check",
813 "auto_delete_invalid",
814 )
815 has_explicit_actions = any(field in form_data for field in action_fields)
816
817 if has_explicit_actions:
818 remove_duplicates = "auto_remove_duplicates" in form_data
819 run_health_check = "auto_health_check" in form_data
820 delete_invalid = "auto_delete_invalid" in form_data
821 else:
822 remove_duplicates = settings.TOKEN_AUTO_REMOVE_DUPLICATES
823 run_health_check = settings.TOKEN_AUTO_HEALTH_CHECK
824 delete_invalid = settings.TOKEN_AUTO_DELETE_INVALID
825
826 if not any((remove_duplicates, run_health_check, delete_invalid)):
827 return _build_alert(
828 "当前没有可执行的维护动作,请先到 /admin/config#tokens 配置至少一个维护动作。",
829 title="未执行维护!",
830 level="warning",
831 status_code=400,
832 )
833
834 try:
835 summary = await run_token_maintenance(
836 provider=DEFAULT_TOKEN_NAMESPACE,
837 remove_duplicates=remove_duplicates,
838 run_health_check=run_health_check,
839 delete_invalid_tokens=delete_invalid,
840 )
841 except RuntimeError as exc:
842 return _build_alert(
843 str(exc),
844 title="维护稍后重试",
845 level="warning",
846 status_code=409,
847 )
848 except Exception as exc:
849 logger.exception(f"❌ 手动执行 Token 维护失败: {exc}")
850 return _build_alert(
851 f"Token 维护失败: {exc}",
852 title="维护失败!",
853 level="error",
854 status_code=500,
855 )
856
857 return _build_alert(
858 (
859 f"本次维护共去重 {summary.duplicate_removed_count} 个,"
860 f"测活 {summary.checked_count} 个(有效 {summary.valid_count} / "
861 f"匿名 {summary.guest_count} / 无效 {summary.invalid_count}),"

Callers

nothing calls this directly

Calls 2

run_token_maintenanceFunction · 0.90
_build_alertFunction · 0.85

Tested by

no test coverage detected