首页 > 解决方案 > Python:gevent 和 libfaketime

问题描述

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

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

有没有办法让它在所需的时间内睡眠然后醒来?

标签: pythonsleepgevent

解决方案


gevent.sleep不使用time.sleep。您也可以随时将任何东西包裹在 a 周围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)

推荐阅读