Python: 发泄和 libfaketime

Python: gevent and libfaketime

在工作中,我正在从旧版本的 Python 转换系统,作为其中的一部分,我需要将 gevent 升级到版本 21.1.2。

我们的一些测试在被测试的代码中使用了 libfaketime.fake_timetime.sleep。但是,对于新的 gevent 版本,这些睡眠会永远睡眠,可能是因为时间不会改变。 time 模块确实得到了修补。

有没有办法让它休眠到规定的时间然后醒来?

使用 gevent.sleep 而不是 time.sleep。您也可以随时将任何东西包裹在 Timeout 周围:

from gevent import sleep, Timeout
with Timeout(2, False) as timeout: # This will force it to move on after 2 seconds regardless
    sleep(10)