実行中のプロセスを中断させ、起動時にコルーチンを呼び出すタイマーを設定しようとしています。しかし、私はこれを達成する正しい方法が何であるか分かりません。私は、Threading.Timerと一緒にAbstractEventLoop.call_laterを見つけましたが、どちらも動作していないようです(または私は間違って使います)。コードはかなり基本的であり、このようなものになります。Python - asyncio/coroutineのタイマー
def set_timer(time):
self.timer = Timer(10.0, timeout)
self.timer.start()
#v2
#self.timer = get_event_loop()
#self.timer.call_later(10.0, timeout)
return
async def timeout():
await some_func()
return
非ブロックタイマーを設定する正しい方法は何ですか、秒のいくつかの数の後にコールバック関数を呼び出しますか?タイマーをキャンセルできることはボーナスになりますが、必須条件ではありません。私が必要とする主なものは、ノンブロッキングであり、コルーチンをうまく呼び出すことです。今は、オブジェクトがawait'dできないというエラーを返すか(some_funcは決してawait'dされなかった)、期待される出力は決して起こらない。
、おかげであなたがからを開始するために何かを持っているため
は私が実装例を書きました! –