跳转到主要内容

经验进度库

项目描述

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 (18.6 kB 查看哈希值)

上传时间

由以下支持