This commit is contained in:
Your Name
2026-04-17 02:11:01 +08:00
parent e9c0a75b8f
commit 602ab10590
3 changed files with 86 additions and 9 deletions

View File

@@ -2,6 +2,7 @@ from __future__ import annotations
import hashlib
import json
import socket
from datetime import datetime, timedelta
from app.core.config import settings
@@ -12,6 +13,13 @@ def _format_time(value: datetime | None) -> str:
return value.isoformat(sep=" ", timespec="seconds") if value else ""
def _resolve_local_ip() -> str:
try:
return socket.gethostbyname(socket.gethostname())
except Exception:
return ""
def _decode_json(value: object) -> dict:
if isinstance(value, dict):
return value
@@ -397,6 +405,13 @@ def append_runtime_projection_if_changed(
normalized_target_region = _normalize_region(target_region, _normalize_region(settings.sync_target_region, "overseas"))
active_job = detect.get("active_job") or {}
projection = {
"node": {
"node_code": settings.node_code,
"region": settings.node_region,
"role": settings.node_role,
"hostname": socket.gethostname(),
"ip": _resolve_local_ip(),
},
"worker_online": bool(detect.get("worker_online", False)),
"worker_mode": detect.get("worker_mode", ""),
"phase_label": detect.get("phase_label", ""),