python分布式框架 升级程序_python的分布式任务并行处理框架Jug简单使用

前言:

大家是否需要一个强度大点的任务处理框架,比如临时发送大量的通知邮件,需要做大量的cpu计算,需要做大量的部署,需要做xxxx。 好嘞,下面看看jug的介绍及使用文档。

介绍一个简单易用的任务处理框架,名字叫Jug,它是一个基于任务的并行处理框架,采用 Python 编写,可立马实现多任务处理,及在不同的机器上运行同一个任务,使用 NFS 做文件系统的通讯;也可在使用同一台服务器的多CPU运行同一任务。这里不仅可以用nfs,也可以用redis。

个人觉得他比celery相比,在于接口不好用。用celery可以轻易做成异步,当然jug的优势在于轻易的分布式,和派生多进程,以及任务不会冲突。当然这些东西也可以自己开发实现。  看个人喜好了。

我这里的测试代码很简单,就是获取一个列表,然后用jug运行,大家会注意到,你不管开了多少个进程,他们的任务都不会冲突,有点类似redis队列。

#coding:utf-8

#from xiaorui.cc

from jug import TaskGenerator

import time

import os,sys

@TaskGenerator

def is_prime(n):

print '现在进行的是任务: %s'%n

time.sleep(1)

ltime = int(time.time())

print ltime

time.sleep(1)

return True

plist=[1,2,3,4,5,6,7,8,9,10,'w1','w2','w3','w4','w5','w6','d1','d2','d3','d4','d5','d6']

primes100 = map(is_prime,plist)

print 'o

在第一台服务器处理的结果:

[root@67 var]# jug execute s.py

ok

现在进行的是任务: 1

1399001613

现在进行的是任务: 2

1399001615

现在进行的是任务: 3

1399001617

现在进行的是任务: 4

1399001619

现在进行的是任务: 6

1399001621

现在进行的是任务: 8

1399001623

现在进行的是任务: 10

1399001625

现在进行的是任务: w2

1399001627

现在进行的是任务: w4

1399001629

现在进行的是任务: w6

1399001632

现在进行的是任务: d2

1399001634

现在进行的是任务: d4

1399001636

现在进行的是任务: d6

再另一台服务器测试的结果:

xiaorui.cc

[root@110 var]# jug execute s.py

ok

现在进行的是任务: 5

1399001620

现在进行的是任务: 7

1399001623

现在进行的是任务: 9

1399001625

现在进行的是任务: w1

1399001627

现在进行的是任务: w3

1399001629

现在进行的是任务: w5

1399001631

现在进行的是任务: d1

1399001633

现在进行的是任务: d3

1399001635

现在进行的是任务: d5

1399001637

Executed Loaded Task name

--------------------------------------------------------------------------------------------------------------------------------------

9 3 s.is_prime

......................................................................................................................................

9 3 Total

可以看到,他们在完成任务后,会把记录hash的方式写入记录。

[root@67 var]# ll s.jugdata/

总用量 96

drwxr-xr-x 2 root root 4096 5月 2 11:33 0b

drwxr-xr-x 2 root root 4096 5月 2 11:33 12

drwxr-xr-x 2 root root 4096 5月 2 11:33 14

drwxr-xr-x 2 root root 4096 5月 2 11:33 1d

drwxr-xr-x 2 root root 4096 5月 2 11:33 25

drwxr-xr-x 2 root root 4096 5月 2 11:33 4d

drwxr-xr-x 2 root root 4096 5月 2 11:33 4f

drwxr-xr-x 2 root root 4096 5月 2 11:33 58

drwxr-xr-x 2 root root 4096 5月 2 11:33 59

drwxr-xr-x 2 root root 4096 5月 2 11:33 6f

drwxr-xr-x 2 root root 4096 5月 2 11:33 75

drwxr-xr-x 2 root root 4096 5月 2 11:33 79

drwxr-xr-x 2 root root 4096 5月 2 11:33 7c

drwxr-xr-x 2 root root 4096 5月 2 11:33 8d

drwxr-xr-x 2 root root 4096 5月 2 11:33 96

drwxr-xr-x 2 root root 4096 5月 2 11:33 a7

drwxr-xr-x 2 root root 4096 5月 2 11:33 a9

drwxr-xr-x 2 root root 4096 5月 2 11:33 b7

drwxr-xr-x 2 root root 4096 5月 2 11:33 be

drwxr-xr-x 2 root root 4096 5月 2 11:33 d1

drwxr-xr-x 2 root root 4096 5月 2 11:33 d6

drwxr-xr-x 2 root root 4096 5月 2 11:33 f7

drwxr-xr-x 2 root root 4096 5月 2 11:33 locks

drwxr-xr-x 2 root root 4096 5月 2 11:33 tempfiles

这里介绍的比较简单,想看详细的,请到官网看:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值