我想在用户需要时启动和停止启动,但是出现错误RuntimeError: Task is already launched and is not completed.
,如果任务处于活动状态,该如何停止该任务然后重新启动它?
@tasks.loop(minutes=1)
async def FunctionTask():
print("Task running")
@client.event
async def on_ready():
FunctionTask.start()
@client.command()
async def start(ctx):
FunctionTask.restart()
@client.command()
async def stop(ctx):
FunctionTask.stop()
谢谢您的回答。
答案 0 :(得分:0)
我没有遇到您遇到的问题,但是您应该在文档中尝试解决方案
注意:如果内部函数引发一个错误,可以在完成之前处理该错误,则它将重试,直到成功为止。 如果不希望这样做,请在通过clear_exception_types()停止操作之前删除错误处理,或者改用cancel()。
尝试使用cancel()
代替stop()
,看看是否能解决问题。