async def cleanup_all(self): for task in self._cleanup_tasks: await task()

async def setup_all(self): for task in self._init_tasks: await task()

def get(self, name: str): return self._resources.get(name) async def init_postgres(): # Imagine asyncpg.connect(...) return "conn": "fake pg connection"

def add(self, name: str, init_func, cleanup_func=None): async def _init(): self._resources[name] = await init_func() self._init_tasks.append(_init) if cleanup_func: async def _clean(): await cleanup_func(self._resources[name]) self._cleanup_tasks.insert(0, _clean) # reverse order cleanup

# ... your app logic here ...

async def close_postgres(resource): print(f"Closing resource")

HIDE FILTER

Aiosetups Here

async def cleanup_all(self): for task in self._cleanup_tasks: await task()

async def setup_all(self): for task in self._init_tasks: await task() aiosetups

def get(self, name: str): return self._resources.get(name) async def init_postgres(): # Imagine asyncpg.connect(...) return "conn": "fake pg connection" async def cleanup_all(self): for task in self

def add(self, name: str, init_func, cleanup_func=None): async def _init(): self._resources[name] = await init_func() self._init_tasks.append(_init) if cleanup_func: async def _clean(): await cleanup_func(self._resources[name]) self._cleanup_tasks.insert(0, _clean) # reverse order cleanup aiosetups

# ... your app logic here ...

async def close_postgres(resource): print(f"Closing resource")

Carrinho fechar