如何中止创建的协程python

时间:2018-08-22 21:50:16

标签: python python-asyncio coroutine

如何中止创建的协程实例?我的用例是一个函数,其中包含一个协程并有条件地为其创建一个跟踪任务(以便以后可以gather对所有这些任务进行跟踪)。

忽略它(而不是await直接或间接地),但是给出一个RuntimeWarning。我可以采用抑制此警告的解决方案。

创建任务然后立即取消任务开始执行,取消会导致其他问题,因此不可行。

在创建协程之前检查条件是可行的,但是会损害可维护性,因为在调用此函数之前必须在所有位置进行相同的条件检查。

1 个答案:

答案 0 :(得分:1)

使用.close()方法:

async def foo():
    pass
x = foo()
x.close()

程序运行正常,没有警告。