import os
import subprocess
import urllib.request


def find_crush() -> str:
    return os.environ.get("CRUSH_BIN") or "crush"


def request_json(url: str) -> bytes:
    with urllib.request.urlopen(url, timeout=10) as resp:
        return resp.read()


def check_server(base_url: str) -> bytes:
    return request_json(base_url.rstrip("/") + "/v1/models")


def main() -> int:
    check_server(os.environ["LAB_MODEL_BASE_URL"])
    proc = subprocess.Popen([find_crush(), "run", "--quiet", "task"])
    return proc.wait()
