text: Title: Background task considerations.
  Body: There are likely some considerations around backlogs and process shutdown to think about here.
  
  In Starlette, background tasks run within the request/response task. The response has been sent, and the server can continue to service other requests on the same connection, but it is also implicitly able to determine how many background tasks are running (response sent, but ASGI call not yet complete), and is able to effect graceful shutdown (for standard process restarts. Close connections, wait until background tasks are complete with a suitable timeout ceiling, then shutdown)
  
  A global queue attached to the app is valid too, but ideally you’d want to 1. Ensure that the ASGI lifecycle shutdown waits for the queue to empty. 2. Consider how you want to deal with task backlogs.
  
  Actions for now could be:
  
  1. Attach background tasks to responses instead, ala Starlette. Everything’ll be handled for you then.
  2. Don’t sweat the finer details for now, since it’s all alpha. We can come back to it.