What a runner does
- Connects to the Lynx platform using your provided credentials
- Registers itself with its capabilities (CPU, memory, concurrency limit)
- Polls for queued jobs and claims them
- Executes the simulation workload
- Reports job outcomes (complete or failed) back to Lynx
- Sends heartbeats so the platform knows it is alive
Runner capabilities
Each runner declares its capabilities at startup:
These are visible via
GET /runners/{runner_id}.
Runner status
Drain and resume
Draining a runner stops it from accepting new jobs without interrupting work already in progress. Use this before taking a machine offline for maintenance.Maintenance. In-flight jobs run to completion before the runner goes quiet.
Scaling the pool
You can run any number of runners concurrently. Lynx distributes jobs across all active runners automatically — no additional configuration is required when adding or removing runners. Each runner must have a uniquerunner_id.
Retry handling
If a runner fails a job and the job has retries remaining (retries < max_retries), Lynx automatically requeues it. The next available runner picks it up. You do not need to handle requeuing yourself.