- archive/hermes-dead-tools-20260820/: hermes独有不在cron不被import的111个一次性排查/测试工具 - archive/hermes-dead-tools-20260820/: 4个废弃scanner(btd1_v3/market_scanner/market_thermometer已废弃/s2v2) - archive/legacy-cleanup-20260820/: MoFin根2旧版(mo_models/technical_analysis)+/home/hmo/scripts无引用旧项目+MoFin/scripts重复prepare_report_data - 删除MoFin根mo_models.py(根旧版,deploy/profile-scripts权威保留) - 保留: mofin_db.py/mo_data.py硬链接(server.py多层sys.path需各目录访问同一inode,非冗余) - fix_gateway.py保留(Gateway看门狗fix_gateway_port.py的活跃依赖,勿误删) - 验证: cron所有脚本引用无缺失, key模块import正常 - hermes独有从116收敛到5核心(alert_logger/market_screener/prepare_report_data/self_todo_executor_v2/xmpp_zhiwei_bot)
25 lines
987 B
Python
25 lines
987 B
Python
import json
|
|
from datetime import datetime
|
|
|
|
print('=== pa profile error jobs ===')
|
|
d = json.load(open('/home/hmo/.hermes/profiles/position-analyst/cron/jobs.json'))
|
|
jobs = d if isinstance(d, list) else d.get('jobs', [])
|
|
for j in jobs:
|
|
if j.get('last_status') == 'error':
|
|
lr = str(j.get('last_run_at') or '?')[:19]
|
|
err = str(j.get('last_error') or '')[:120].replace('\n', ' ')
|
|
print(f"{j.get('name')} | last={lr} | {err}")
|
|
|
|
print()
|
|
print('=== default profile error jobs ===')
|
|
d2 = json.load(open('/home/hmo/.hermes/cron/jobs.json'))
|
|
jobs2 = d2 if isinstance(d2, list) else d2.get('jobs', [])
|
|
for j in jobs2:
|
|
if j.get('last_status') == 'error':
|
|
lr = str(j.get('last_run_at') or '?')[:19]
|
|
err = str(j.get('last_error') or '')[:120].replace('\n', ' ')
|
|
print(f"{j.get('name')} | last={lr} | {err}")
|
|
|
|
print()
|
|
print('当前时间:', datetime.now().strftime('%Y-%m-%d %H:%M'))
|
|
print('硬链接修复时间: 2026-07-20 00:53 (周一凌晨)') |