Discord.py как проверить, если задача активна? - PullRequest
0 голосов
/ 22 марта 2020

Я хочу запустить и остановить запуск, когда пользователь хочет, но я получаю ошибку 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()

Спасибо Вы за любой ответ.

1 Ответ

0 голосов
/ 27 марта 2020

Я не вижу проблемы, с которой вы столкнулись, но вы должны попробовать решение в документации

Примечание. Если внутренняя функция выдает ошибку, которую можно обработать до завершения, она попытается повторить попытку пока это не удастся. Если это нежелательно, либо удалите обработку ошибок перед остановкой через clear_exception_types (), либо используйте метод cancel ().

Попробуйте использовать cancel() вместо stop() и посмотрите, исправляет ли это.

...