Skip to main content

Queuing Up Heavy Tasks to an Autoscaling Worker Farm

An autoscaling farm of AWS EC2 instances sits behind our front-facing web application, working on heavy, long-running tasks like video transcoding, thumbnail generation, and computer vision processing. It’s a battle-tested combination of queues, worker instances, and an orches­tra­tion service called Lifeguard that easily hammers through thousands of these CPU-bound jobs per minute.

Queuing Up Heavy Tasks to an Autoscaling Worker Farm

An autoscaling farm of AWS EC2 instances sits behind our front-facing web application, working on heavy, long-running tasks like video transcoding, thumbnail generation, and computer vision processing. It’s a battle-tested combination of queues, worker instances, and an orches­tra­tion service called Lifeguard that easily hammers through thousands of these CPU-bound jobs per minute.

Worker farm architecture.
Jobs ingested per hour during a typical football season week.
Highlight pool queue length + requested and active workers. Note the shared Y-axis; units are queue size for red, worker count for yellow/blue.
Pools of workers and their queues are managed independently.