簡體   English   中英

如何測量異步事件循環的長度?

[英]How can I measure the length of an asyncio event loop?

我有一個應用程序在安排一些任務后調用loop.run_forever() 這些任務將連接到 Web 服務,然后根據這些服務的輸入在循環中安排新任務。

我想找到一種跟蹤循環的方法,以檢查是否有正在創建的任務從未完成。 理想情況下,我會定期測量循環中的任務數量並將其寫入文件,或通過 http 調用使其可用。

您可以收集所有任務,然后對它們進行計數,計算“循環長度”的其他一些指標或執行檢查。

asyncio.Task.all_tasks(loop=loop)

在 python 3.10 中,您可以像這樣獲取當前線程中的任務數:

len(asyncio.all_tasks(asyncio.get_running_loop()))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM