async def start(channel):
while True:
m = await client.send_message(channel, "Generating... ")
generator.makeFile()
with open('tmp.png', 'rb') as f:
await client.send_file(channel, f)
await client.delete_message(m)
await asyncio.sleep(2)
私は2秒ごとにタスクを実行する不協和音ボットを持っています。私はこれに無限ループを使用しようとしましたが、スクリプトはクラッシュしますTask was destroyed but it is still pending!
私はasyncioのコルーチンについて読んだことがありますが、見つけた例はどれもawait
です。コルーチンをawait
で実行すると、このエラーを回避できますか?Asyncio、無限ループ、無限ループ
ここでは「await」は問題ありません。さらにwhile whileは、定期的な呼び出しの一般的な方法です(https://stackoverflow.com/questions/37512182/how-can-i-periodically-execute-a-function-with-asyncio)。その関数をどのように実行するかを示します。コード内のタスクを停止しようとしていますか? – kwarunek