Что такое ASGI lifespan protocol? Для чего он нужен и как им пользоваться в FastAPI/Starlette? Пример: где правильно создать пул соединений к БД.