Managing Long Running Tasks easy
What is the main problem with handling a 5-minute task Synchronously (blocking the HTTP request until finished)?
- A It uses too much disk space.
- B It is too fast.
- C It requires a GPU.
- D Timeouts. The browser or load balancer will likely cut the connection (timeout) after 30-60 seconds, causing the user to think it failed.
Answer: D. Timeouts. The browser or load balancer will likely cut the connection (timeout) after 30-60 seconds, causing the user to think it failed.
Synchronous HTTP is only for sub-second (or sub-minute) tasks. Long tasks must be Asynchronous.
One system design question a day, with spaced repetition so the ones you miss come back.
Get the appRelated questions
- What is the primary purpose of a Dead Letter Queue (DLQ)?
- The architectural pattern where one service creates tasks and another processes them is called:
- In a Priority Queue system (High vs Low), what is 'Starvation' and how do you fix it?
- How do you atomically update your local database AND publish a message to a queue without losing sync if the process crashes in between?
- What does 'Fire and Forget' mean?
- Why might you 'Throttle' (limit the speed of) your background workers?