跳到内容

long-sleep-not-forever (ASYNC116)

派生自 flake8-async linter。

有时提供修复。

此规则不稳定且处于预览状态。使用需要 --preview 标志。

作用

检查是否使用了延迟大于 24 小时的 trio.sleep()anyio.sleep()

为什么这不好?

使用大于 24 小时的延迟调用 sleep() 通常是为了无限期地睡眠。与使用较大的延迟相比,trio.sleep_forever()anyio.sleep_forever() 更好地传达了意图。

示例

import trio


async def func():
    await trio.sleep(86401)

建议改为

import trio


async def func():
    await trio.sleep_forever()

修复安全性

此修复程序被标记为不安全,因为它会更改程序行为。