经验进度库
项目描述
docbrown
docbrown 是一个经验进度库。它通过查看过去所需的时间来确定整个过程的总持续时间和发展进度。
docbrown 可能是您的选择,如果您有一个长时间运行的任务,其中各个部分所需的时间差异很大。当在无法在独立环境中通知消费者任务进度(如WSGI请求/响应周期与WebSocket)的环境中使用时,它也很有用。
安装
pip install docbrown
此存储库允许您创建Debian及其衍生品的deb软件包。只需运行 make dist-deb
。
示例用法
记录进度
import time
from docbrown import record_progress
with record_progress('process_name', ident='my_ident') as record:
# ident normally is random and unique, but you can override it with
# your own id. Just make sure it is not used more than once at a time.
print(record.ident)
# do some stuff that takes time
record('loading_data')
time.sleep(4)
record('calculating_matrices')
time.sleep(9)
record('rendering_structures')
time.sleep(23)
record('uploading_models')
time.sleep(15)
由于 docbrown 通过查看过去来确定进度,因此每个过程至少需要运行一次,才能在 get_progress
返回任何有意义的数据之前。这就是为什么上述代码的第一次运行中,get_progress
将返回 None
。
获取我们进程的进度
from docbrown import get_progress
print(get_progress('my_ident'))
未来
有一些事情很棒,但尚未实现。
- 除了SQLite之外的其他存储后端
- 考虑可选阶段并实时更新预期持续时间进度的代码路径检测
项目详情
关闭
docbrown-0.5.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ccb33e2b18c691beba12e150de8b1871c5db82d69ec5dcf126736b14ec194192 |
|
MD5 | aee5fa72e444bb13314d56038841c1f6 |
|
BLAKE2b-256 | 1929db60c8f0db56978439bf20cf4eaab4a22afa6393d3cd9f733be4d48d4367 |