博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jug 并行处理框架
阅读量:6495 次
发布时间:2019-06-24

本文共 1520 字,大约阅读时间需要 5 分钟。

Jug 是一个基于任务的并行处理框架,采用 Python 编写,可用来在不同的机器上运行同一个任务,使用 NFS 做文件系统的通讯;也可在使用同一台服务器的多CPU运行同一任务。

Jug工作原理:

//Todo//

Jug使用小结:

1.使用Jug execute jugfile.py启动并行一个进程,实际上执行如下:

$python /usr/loca/python/bin/jug execute jugfile.py
 

2.使用jug status jugfile.py查看并行进程的状态,如下图:

运行结束时的并行状态如下:

Task之间可以存在依赖关系,只能是任务之间的依赖,任务的输出结果,无法作为任务的输入,只能把整个任务作为输入。

document = jug.Task(f1,*args,**kwargs) doc = jug.Task(f2, document, *args, **kwargs)

任务返回的结果可以通过jug.task.value/jug.value得到value(task/tasks)

TaskGenerator可以自动指定任务,@TaskGenerator ,Task需要额外的封装代码,

  • 优点:可移植性强,可不依赖于jug运行
  • 缺点:依赖关系不好控制,代码不好维护

注意任务间的同步和异步关系

jug.init/jug.jug.init可以动态加载jug任务模块,并得到任务返回结果

可在代码中控制jug的初始化、加载和运行

jug.init("filedec.py", "dname")

输入:jugfile的文件名,jugdir的路径 输出:store object, jugspace

结果存储方式支持:(基本原理:Key/Value)

  • 文件存储
  • 字典存储
  • redis存储

Jug API参考

[ ] jug [ ] jug.Task [ ] jug.TaskGenerator [ ] jug.value [ ] jug.backends [ ] jug.backends.dict_restore [ ] jug.backends.decode [ ] jug.backends.file_restore [ ] jug.backends.redis_restore [ ] jug.barrier [ ] jug.compound [ ] jug.compound.Task [ ] jug.init [*] jug.jug [ ] jug.jug.check [ ] jug.jug.execute [ ] jug.jug.init [ ] jug.jug.invalidate [ ] jug.mapreduce [ ] jug.mapreduce.map [ ] jug.mapreduce.mapreduce [ ] jug.mapreduce._break_up [ ] jug.task [ ] jug.task.CachedFuntion [ ] jug.task.Task [ ] jug.task.TaskGenerator [ ] jug.task.alltasks [ ] jug.task.topological_sort [ ] jug.task.value [ ] jug.utils [ ] jug.utils.identity [ ] jug.utils.timed_path
 

相关网站: http://nullege.com/codes/search/jug

http://packages.python.org/Jug/tutorial.html

转载地址:http://zduyo.baihongyu.com/

你可能感兴趣的文章
Debugging information cannot be found or does not match
查看>>
我的友情链接
查看>>
apache负载均衡apache2.4.18+tomcat7(windows版)
查看>>
我的友情链接
查看>>
跨平台开发时代的 (再次) 到来?
查看>>
Linux Kernel Panic报错解决思路
查看>>
mysql大数据量且多存储引擎场景下的完整+增量自动异地备份的可靠方案
查看>>
Java程序性能分析工具Java VisualVM(Visual GC)—程序员必备利器
查看>>
关于用户的操作:添加用户,删除用户,更改用户属性
查看>>
定制rpm包及搭建yum仓库
查看>>
zabbix 报警小案例
查看>>
CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
查看>>
shell ping 网段 多进程(很简单,喜欢就拿去用)
查看>>
枚举类、单实例
查看>>
我的友情链接
查看>>
C/C++项目中的代码复用和管理
查看>>
球反弹问题
查看>>
哈希表(散列表)线性探测
查看>>
如何知道自己的CPU支持SLAT
查看>>
Redis Cluster 搭建
查看>>