# model-asr-executor **Repository Path**: cloudshift/model-asr-executor ## Basic Information - **Project Name**: model-asr-executor - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-02 - **Last Updated**: 2026-08-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ASR Runtime Executor V2 This service is a lease-based ASR Runtime Executor. It consumes task IDs from NATS JetStream, obtains each task from the Runtime Control Plane, and reports its terminal state back to that Control Plane. ## Startup ```bash ASR_EXECUTOR_ID=exec-prod-a-01 \ ASR_COMPUTE_POOL_ID=gpu-cn-prod-a \ ASR_CONTROL_PLANE_URL=https://modelhub.internal/api/internal/asr-runtime \ ASR_EXECUTOR_TOKEN=replace-me \ ASR_NATS_URL=nats://nats.internal:4222 \ ASR_NATS_SUBJECT=asr.runtime.gpu-cn-prod-a.tasks \ ASR_MODEL_VERSION=release-1 \ ./entrypoint.sh ``` In Runtime mode, JetStream messages must contain only the task identity: ```json {"task_id":"task_abc"} ``` The Executor claims the task before model execution and acknowledges the NATS message only after a claim is accepted. The Control Plane owns retries and lease recovery. The Executor never retries a task by itself. The Runtime Control Plane contract used by this image is: ```text POST /v1/executors/{executor_id}/tasks/{task_id}/claim POST /v1/executors/{executor_id}/tasks/{task_id}/start POST /v1/executors/{executor_id}/tasks/{task_id}/lease/renew POST /v1/executors/{executor_id}/tasks/{task_id}/complete POST /v1/executors/{executor_id}/tasks/{task_id}/fail ``` ## Local native startup Set the Runtime Control Plane and NATS environment variables shown above, then from this directory: ```bash python3 -m venv .venv .venv/bin/pip install -r requirements.txt .venv/bin/python -m executor.main ``` Model warm-up runs before the executor begins consuming NATS messages.