import json, os from datetime import datetime, timezone now = datetime.now(timezone.utc) out = [] for jf, prof in [('/home/hmo/.hermes/profiles/position-analyst/cron/jobs.json', 'pa'), ('/home/hmo/.hermes/cron/jobs.json', 'default')]: d = json.load(open(jf)) jobs = d if isinstance(d, list) else d.get('jobs', []) for j in jobs: st = j.get('last_status') en = j.get('enabled', True) if st == 'error' or not en: lr = str(j.get('last_run_at') or '?')[:19] err = str(j.get('last_error') or '')[:300].replace('\n', ' | ') out.append({ 'profile': prof, 'name': j.get('name'), 'script': j.get('script'), 'no_agent': j.get('no_agent'), 'status': st, 'enabled': en, 'last_run': lr, 'schedule': j.get('schedule_display') or str(j.get('schedule')), 'error': err, }) print(f"TOTAL problem jobs: {len(out)}\n") for o in out: flag = 'DISABLED' if not o['enabled'] else 'ERROR' print(f"[{flag}] ({o['profile']}) {o['name']}") print(f" script={o['script']} no_agent={o['no_agent']} sched={o['schedule']} last={o['last_run']}") print(f" err: {o['error'][:250]}") print()