in atr/server.py [0:0]
def app_setup_lifecycle(app: base.QuartApp) -> None:
"""Setup application lifecycle hooks."""
@app.before_serving
async def startup() -> None:
"""Start services before the app starts serving requests."""
worker_manager = manager.get_worker_manager()
await worker_manager.start()
ssh_server = await ssh.server_start()
app.extensions["ssh_server"] = ssh_server
@app.after_serving
async def shutdown() -> None:
"""Clean up services after the app stops serving requests."""
worker_manager = manager.get_worker_manager()
await worker_manager.stop()
ssh_server = app.extensions.get("ssh_server")
if ssh_server:
await ssh.server_stop(ssh_server)
await db.shutdown_database()
app.background_tasks.clear()