jug python 并行编程包
jug python 并行编程包,目前内部包含了二类backend,基于文件的,以及基于redis 的,当然还有一种基于内存的
包含的特点
- 任务分布式处理:可以在多个 CPU 核心或多个机器之间分配任务。
- 基于文件的任务存储:通过文件系统保存任务状态和结果,确保任务的幂等性。
- 易于集成:任务以 Python 函数的形式定义,用户只需用装饰器标记任务。
- 容错性:支持断点续执行
支持的cli
Subcommands
-----------
check: Returns 0 if all tasks are finished. 1 otherwise.
cleanup: Cleanup: remove result files that are not used
count: Simply count tasks
demo: Create demo directory.
execute: Execute tasks
graph: Graph: produce a diagram of task dependencies
invalidate: Invalidate the results of a task
pack: Returns 0 if all tasks are finished. 1 otherwise.
shell: Run a shell after initialization
sleep-until: Wait until all tasks are done, then exit.
status: Print status
test-jug: Run jug test suite (internal validation)
webstatus: Start a web interface which displays the status
help:
Use 'jug <subcommand> --help' for subcommand specific options
说明
jug 可以自动基于任务依赖进行任务的并行处理,同时还包含了状态监控能力,对于需要任务并行处理的业务场景值得尝试下,后边会简单介绍下使用