如何测量异步事件循环的长度?
How can I measure the length of an asyncio event loop?
我有一个应用程序在安排一些任务后调用 loop.run_forever()
。这些任务将连接到 Web 服务,然后根据来自这些服务的输入在循环中安排新任务。
我想找到一种跟踪循环的方法,以检查是否有正在创建但从未完成的任务。理想情况下,我会定期测量循环中的任务数量并将其写入文件,或者通过 http 调用使其可用。
您可以收集所有任务,然后对它们进行计数,计算 "loop length" 的一些其他指标或执行检查。
asyncio.Task.all_tasks(loop=loop)
我有一个应用程序在安排一些任务后调用 loop.run_forever()
。这些任务将连接到 Web 服务,然后根据来自这些服务的输入在循环中安排新任务。
我想找到一种跟踪循环的方法,以检查是否有正在创建但从未完成的任务。理想情况下,我会定期测量循环中的任务数量并将其写入文件,或者通过 http 调用使其可用。
您可以收集所有任务,然后对它们进行计数,计算 "loop length" 的一些其他指标或执行检查。
asyncio.Task.all_tasks(loop=loop)