#!/usr/bin/env python3
import json
import subprocess
import time
import urllib.request
from pathlib import Path

ROOT = Path('/data/video-pipeline/HaTramAudio/project/012-Nguoi-Giu-Chiec-Chia-Khoa-Cua-Ngay-Hom-Qua')
JOB = 'fecbf73a47b54c038845c9f40d52fe5e'
RUN_ID = 'run-20260720T084924Z-02f78a49'
LEASE = '/home/hermes/.hermes/skills/audio-production/ha-tram-audio/scripts/gate_lease.py'
URL = f'http://192.168.1.104:8023/v1/huyenan-render-final/jobs/{JOB}'
while True:
    with urllib.request.urlopen(URL, timeout=20) as response:
        data = json.load(response)
    print(json.dumps({'job_id': JOB, 'status': data.get('status')}, ensure_ascii=False), flush=True)
    if data.get('status') in {'completed', 'failed', 'cancelled'}:
        (ROOT/'work/final/run-20260720T084924Z-02f78a49/terminal-response.json').write_text(json.dumps(data, ensure_ascii=False, indent=2)+'\n')
        if data.get('status') != 'completed':
            raise SystemExit(1)
        break
    subprocess.run(['python3', LEASE, 'heartbeat', '--project-root', str(ROOT), '--gate', 'final_render', '--run-id', RUN_ID, '--ttl-seconds', '14400'], check=True, stdout=subprocess.DEVNULL)
    time.sleep(30)
print(json.dumps({'status': 'completed', 'job_id': JOB}, ensure_ascii=False))
