24 lines
567 B
Python
24 lines
567 B
Python
"""`Coroutine` providers example with async / await syntax."""
|
|
|
|
import asyncio
|
|
|
|
from dependency_injector import containers, providers
|
|
|
|
|
|
async def coroutine(arg1, arg2):
|
|
await asyncio.sleep(0.1)
|
|
return arg1, arg2
|
|
|
|
|
|
class Container(containers.DeclarativeContainer):
|
|
|
|
coroutine_provider = providers.Coroutine(coroutine, arg1=1, arg2=2)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
container = Container()
|
|
|
|
arg1, arg2 = asyncio.run(container.coroutine_provider())
|
|
assert (arg1, arg2) == (1, 2)
|
|
assert asyncio.iscoroutinefunction(container.coroutine_provider)
|