Async Batch Processing with REST API
📖 Scenario: You are building a REST API that processes a batch of tasks asynchronously. This is useful when you have many tasks to run but don't want to block the client while waiting for all tasks to finish.Imagine a system that receives a list of job IDs and processes each job in the background, returning a batch ID immediately. Later, the client can check the batch status or results.
🎯 Goal: Create a simple REST API with endpoints to submit a batch of jobs for asynchronous processing, track their progress, and retrieve results.
📋 What You'll Learn
Create an endpoint
/submit_batch that accepts a JSON list of job IDs and returns a batch ID immediately.Store the batch jobs and their statuses in a dictionary.
Process each job asynchronously with a simulated delay.
Create an endpoint
/batch_status that returns the status of all jobs in a batch.Create an endpoint
/batch_results that returns the results of all completed jobs in a batch.💡 Why This Matters
🌍 Real World
Async batch processing is common in web services that handle many tasks without blocking clients, such as image processing, data import, or sending emails.
💼 Career
Understanding async batch processing is valuable for backend developers, API designers, and anyone working with scalable web applications or microservices.
Progress0 / 4 steps