Use cases
Each page in this section starts from a concrete problem, shows a complete cronoq setup, and lists the specific benefits you get compared with a plain queue. Not sure which one applies? Start with Benefits at a glance, which maps symptoms to pages.
| Use case | Typical problem | Key cronoq features |
|---|---|---|
| LLM and agent workloads | Rate limits, 429 storms, unpredictable latency, expensive workers | Token buckets, retry_after, priorities, deadlines, autoscaling |
| Interactive and batch work on shared capacity | User requests stuck behind batch jobs; batch jobs starved at peak | Priority classes, aging, per-class wait SLOs |
| Deadline-driven work | SLAs missed although capacity existed earlier | Deadline urgency, EDF ordering, overdue escalation |
| Scheduled jobs with guaranteed capacity | Cron jobs start late because workers are busy | Fixed starts, reservations, worker holds, miss policies, cron |
| Pipelines and DAGs | Hand-rolled dependency tracking; downstream steps run on bad input | Keys, edge conditions, atomic batches, failure handlers |
| GPUs and other scarce resources | Oversubscribed GPUs, connection pools or licences | Semaphores shared across pools; no head-of-line blocking |
| High-throughput microtasks | Scheduler overhead dominates millisecond tasks | O(1) dispatch, bulk enqueue, ~1M decisions/s per core |
| Polyglot worker fleets | Workers in several languages and machines | gRPC worker protocol, leases, heartbeats, HTTP API |
| Cost-aware autoscaling | Over-provisioned at night, saturated at noon | Queue-pressure autoscaling, stabilization, cost metrics, KEDA |
| Migrating from ElasticPriorityScheduler | Existing code on the original Python scheduler | cronoq.compat drop-in |
Use cases combine freely: an LLM pipeline can use DAGs, rate limits, deadlines and autoscaling at the same time, because all of them are properties of tasks and pools in a single engine.