Tea*_*rzz 1 python asynchronous python-3.x python-asyncio
如何使用 asyncio 并永远运行该函数。我知道有run_until_complete(function_name),但是我该如何使用run_forever如何调用异步函数?
async def someFunction():
async with something as some_variable:
# do something
Run Code Online (Sandbox Code Playgroud)
我不知道如何启动该功能。
run_forever并不意味着异步函数会神奇地永远运行,它意味着循环将永远运行,或者至少直到有人调用loop.stop(). 要真正永远运行异步函数,您需要创建一个执行此操作的异步函数。例如:
async def some_function():
async with something as some_variable:
# do something
async def forever():
while True:
await some_function()
loop = asyncio.get_event_loop()
loop.run_until_complete(forever())
Run Code Online (Sandbox Code Playgroud)
这就是为什么run_forever()不接受参数,它不关心任何特定的协程。loop.create_task典型的模式是在调用之前添加一些使用或等效的协程run_forever()。但即使是不运行任何任务并且闲置的事件循环也可能很有用,因为另一个线程可以调用asyncio.run_coroutine_threadsafe它并为其提供工作。
| 归档时间: |
|
| 查看次数: |
15663 次 |
| 最近记录: |