python - Python:gevent 和 libfaketime
问题描述
在工作中,我正在从旧版本的 Python 转换系统,作为其中的一部分,我需要升级gevent
到版本 21.1.2。
我们的一些测试在被测试的代码中使用libfaketime.fake_time
和time.sleep
。然而,在新gevent
版本中,这些睡眠会永远休眠,可能是因为时间不会改变。该time
模块确实得到了修补。
有没有办法让它在所需的时间内睡眠然后醒来?
解决方案
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)
推荐阅读
- node.js - Express:使用 UglifyJS 从远程 URL 缩小 CSS/JS
- time-complexity - 嵌套依赖for循环的理论时间复杂度计算
- python - 为什么 AnchorLayout 不能正常工作?
- typescript - TypeScript 枚举一个值的多个选项
- r - 如何修复热图图例超出边距?
- javascript - 将 fontAwesom 图标添加到输入中
- ios - 文本对齐 / swiftUi
- kubernetes - Kubernetes 上的 Kibana - 如何指向在不同 pod 上运行的 ES 容器
- reactjs - 如何使用 redux 加载响应数据并显示在 react 应用程序上
- python - 将多个numpy数组批量转换为pandas DataFrames