Track 17 · Lesson 10 of 12
Project: async job scheduler
Build a scheduler that runs background jobs concurrently with asyncio: priorities, a concurrency limit, timeouts, retries and a deterministic run report.
You will be able to
- Model a job as a validated dataclass and order work by priority
- Write coroutines with async/await and run them with asyncio.run and asyncio.gather
- Limit how many jobs run at once with asyncio.Semaphore
- Enforce per-job timeouts with asyncio.wait_for and retry failed attempts a fixed number of times
- Produce results and reports in a deterministic order, whatever order the jobs finish in
Included with a Formula Quest membership
It has 6 graded exercises with feedback, hints and solutions. Python Quest is included in Formula Quest memberships that cover Python; membership and billing are managed on Formula Quest.
View Formula Quest memberships
Tracks 1 and 2, the first lesson of every track, the playground and the dataset library are free.