refactor(backend): Replace deprecated event hooks with lifecycle handler (#8092)

Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
This commit is contained in:
vishesh10
2024-10-02 20:03:05 +05:30
committed by GitHub
parent 9748cd08bf
commit 24cc5131d7

View File

@@ -1,5 +1,6 @@
import asyncio
import logging
from contextlib import asynccontextmanager
import uvicorn
from autogpt_libs.auth import parse_jwt_token
@@ -16,7 +17,17 @@ from backend.util.settings import Config, Settings
logger = logging.getLogger(__name__)
settings = Settings()
app = FastAPI()
@asynccontextmanager
async def lifespan(app: FastAPI):
await event_queue.connect()
manager = get_connection_manager()
asyncio.create_task(event_broadcaster(manager))
yield
await event_queue.close()
app = FastAPI(lifespan=lifespan)
event_queue = AsyncRedisEventQueue()
_connection_manager = None
@@ -37,18 +48,6 @@ def get_connection_manager():
return _connection_manager
@app.on_event("startup")
async def startup_event():
await event_queue.connect()
manager = get_connection_manager()
asyncio.create_task(event_broadcaster(manager))
@app.on_event("shutdown")
async def shutdown_event():
await event_queue.close()
async def event_broadcaster(manager: ConnectionManager):
while True:
event = await event_queue.get()