Background Jobs with Graphile Worker
The Inference Studio uses Graphile Worker for background job processing. Jobs are stored in PostgreSQL and processed asynchronously.Running the Worker
In Docker Compose (Recommended): The worker is automatically started in a separate container when you rundocker compose up.
Available Jobs
The worker processes the following background tasks:Experiment Jobs
process-upload- Processes uploaded CSV/XLSX experiments: uploads data to S3, submits Ray job, sets status →PROCESSINGsubmit-review- Processes API experiments after user review: uploads data to S3, submits Ray job, sets status →PROCESSINGrerun-analysis- Re-runs Ray job for an existing experimentsend-email- Sends analysis-complete notification email via Resend
Langfuse Trace Sync (Periodic)
sync-traces-coordinator- Coordinates periodic syncing for all active API keys, fans out tosync-fetch-tracessync-fetch-traces- Fetches raw traces from Langfuse for one API keysync-enrich-observations- Enriches observations with cost/latency metricssync-categorize-traces- Categorizes traces and assigns tasks
Admin UI
You can view and manage jobs at/admin/jobs:
- Monitor job status (pending, active, completed, failed)
- Retry failed jobs
- View job payloads and errors
- Delete jobs
Environment Variables
Worker-specific configuration:GRAPHILE_WORKER_CONCURRENCY- Number of jobs to run in parallel (default: 5)GRAPHILE_WORKER_POLL_INTERVAL- How often to poll for new jobs in ms (default: 1000)
