"""模拟:跳过 SSH,直接调 GROUPS 的 lambda""" import sys sys.path.insert(0, r'D:\selftools\diary-news\scripts') # 绕过 SSH:让 Remote.local 直接走本机 + 接受任意参数 import healthcheck as hc # 关键:模拟 main 跑过的副作用 hc.COMPOSE_DIR = "/srv/news" hc.API_BASE = "http://127.0.0.1/api/v1/healthz" hc.SAMPLE_N = 3 # 直接给 AUTH_TOKEN 赋值,看 lambda 能不能取到 hc.AUTH_TOKEN = "fake-token-123" # mock Remote 让 check 函数不真发请求 class FakeRemote: def run(self, cmd, timeout=10): # 返回一些可解析的内容 if "curl" in cmd and "articles" in cmd and "id=" not in cmd: return 0, '{"items":[{"id":542,"title":"x","title_zh":"X","translation_status":"ok","translation_engine":"tencent"}],"total":1,"total_pages":1}\n---HTTP=200---\n', "" return 0, "ok", "" remote = FakeRemote() # 直接调 GROUPS['app'] 里那两个会读 AUTH_TOKEN 的 for name, fn in hc.GROUPS['app']: if "Feed API" in name or "详情页" in name: try: c = fn(remote) print(f"{name}: ok ok={c.ok} summary={c.summary}") except Exception as e: print(f"{name}: EXC {type(e).__name__}: {e}")