Files
diary-news/scripts/check_worker_signal.py
2026-06-11 17:24:46 +08:00

30 lines
1.4 KiB
Python

"""查 worker shutdown / signal / cancel 关键字"""
import os, paramiko
c = paramiko.SSHClient()
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
c.connect("207.57.129.228", port=19717, username="root",
password=os.environ["REMOTE_PASS"],
timeout=30, allow_agent=False, look_for_keys=False)
# 1) shutdown / signal / cancel 关键字
si, so, se = c.exec_command("bash -lc 'cd /srv/news && docker compose logs worker 2>&1 | grep -iE \"shutdown|stop|signal|cancel|stopping\" | head -20'", timeout=20)
print("=== 1) shutdown/stop/signal/cancel 关键字 ===")
print(so.read().decode(errors="replace"))
# 2) news.llm.enrichment 全部日志
si, so, se = c.exec_command("bash -lc 'cd /srv/news && docker compose logs worker 2>&1 | grep -E \"news.llm.enrichment|enrich\" | head -30'", timeout=20)
print("\n=== 2) news.llm.enrichment 全部日志 ===")
print(so.read().decode(errors="replace"))
# 3) news.worker 全部日志
si, so, se = c.exec_command("bash -lc 'cd /srv/news && docker compose logs worker 2>&1 | grep -E \"news.worker\" | head -20'", timeout=20)
print("\n=== 3) news.worker 全部日志 ===")
print(so.read().decode(errors="replace"))
# 4) 容器进程状态
si, so, se = c.exec_command("bash -lc 'cd /srv/news && docker compose exec -T worker sh -c \"ls /proc/1/task/ | head -20; echo ---; cat /proc/1/status | head -5\"'", timeout=20)
print("\n=== 4) 容器进程状态 ===")
print(so.read().decode(errors="replace"))
c.close()