Files
sanguo_vnpy_v2/scripts/data_platform/check_task_running.py
T

14 lines
738 B
Python

# -*- coding: utf-8 -*-
"""check_task_running.py — schtask 是否在跑(exit 0=在跑, 1=已退出/查无)。
运维探针(watcher/cron 轮询用)。中文输出「正在运行」不含子串「运行中」——三词都认
(2026-08-20 假阳性实锤: 两词判定曾致 bs_eod 挂死被误判已退出)。"""
import subprocess
import sys
task = sys.argv[1] if len(sys.argv) > 1 else 'sanguo-bs-daily'
out = subprocess.run(['schtasks', '/query', '/tn', task, '/fo', 'LIST'],
capture_output=True, timeout=30).stdout.decode('gbk', 'ignore')
running = any(w in out for w in ('Running', '运行中', '正在运行'))
print('%s: %s' % (task, 'RUNNING' if running else 'DONE/NOT-FOUND'))
sys.exit(0 if running else 1)