分布式任务系统GEARMAN FOR PYTHON初探

了解gearman,请访问gearman官网:gearman.org/

++++++++++++++++++++++++++++++++++++++++++++

安装Gearman:

++++++++++++++++++++++++++++++++++++++++++++

基础依赖库:

立即学习“Python免费学习笔记(深入)”;

yum install boost-devel libevent-devel sqlite-devel libuuid-develwget https://launchpad.net/gearmand/trunk/0.33/+download/gearmand-0.33.tar.gz tar xzvf gearmand-0.33.tar.gz cd gearmand-0.33 ./configuremakemake install

登录后复制

++++++++++++++++++++++++++++++++++++++++++++

安装Gearman Python客户端

++++++++++++++++++++++++++++++++++++++++++++

wget http://pypi.python.org/packages/source/g/gearman/gearman-2.0.2.tar.gz#md5=3847f15b763dc680bc672a610b77c7a7     tar xvzf  gearman-2.0.2.tar.gz     python setup.py install

登录后复制

获取直接用自动安装: easy_install gearman

启动服务:gearmand -d 

启动Worker:gearman -w -f wc — wc -l &

-w 代表启动的是worker,-f wc 代表启动一个task名字为wc, — wc -l表示这个task是做wc -l 统计行数。

启动Client:gearman -f wc

++++++++++++++++++++++++++++++++++++++++++++

python work代码:

++++++++++++++++++++++++++++++++++++++++++++

import os import gearman import math       class MyGearmanWorker(gearman.GearmanWorker):       def on_job_execute(self, current_job):           print "Job started"         return super(MyGearmanWorker, self).on_job_execute(current_job)        def task_callback(gearman_worker, gearman_job):       print gearman_job.data      return gearman_job.data      my_worker = MyGearmanWorker(['192.168.0.75:4730'])   my_worker.register_task("echo", task_callback)   my_worker.work()

登录后复制

++++++++++++++++++++++++++++++++++++++++++++

python client代码:

++++++++++++++++++++++++++++++++++++++++++++

from gearman import GearmanClient       gearman_client = GearmanClient(['192.168.0.75:4730']) gearman_request = gearman_client.submit_job('echo', 'foo') result_data = gearman_request.result print result_data

登录后复制

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2284239.html

(0)
上一篇 2025年2月27日 20:38:46
下一篇 2025年2月24日 06:52:55

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 把大数据数字口语化

    当出现万以上的整型数字时,经常要把它们口语化比较直观。下面分享两段代码,python与js的 python def fn(num):    ”’    把数字口语化    ”’          ret = ”    num = in…

    编程技术 2025年2月27日
    200
  • 纯Python的ODBC库 PyPyODBC 1.0 发布

    纯python的odbc库pypyodbc 1.0 发布,新版本同时兼容于python2.x和python3.3。 PyPyODBC是一个Python ODBC库,它可以被视为著名的PyODBC库的纯Python实现,它们的用法几乎完全一样…

    编程技术 2025年2月27日
    200
  • PyPy 和 CPython 的性能比较测试

    最近我在维基百科上完成了一些数据挖掘方面的任务。它由这些部分组成: 解析enwiki-pages-articles.xml的维基百科转储; 把类别和页存储到MongoDB里面; 对类别名称进行重新分门别类。 我对CPython 2.7.3和…

    编程技术 2025年2月27日
    200
  • Python多线程异步任务队列

    很多场景为了不阻塞,都需要异步回调机制。这是一个简单的例子。 python的多线程异步常用到queue和threading模块 #!/usr/bin/env python# -*- coding: UTF-8 -*-  import log…

    编程技术 2025年2月27日
    200
  • python中smtplib使用注意点

    使用smtplib时,打开的server,最好使用quit方法来关闭连接,而不是close。 server.quit() #好#server.close() #不好 登录后复制 因为quit不仅仅会关闭连接,还会关闭session。这个se…

    编程技术 2025年2月27日
    200
  • python中mysql模块的内存泄露和中文乱码详解

    mysql-python的连接时,默认大家会写成 con=MySQLdb.connect(user=’xxx’,passwd=’xxx’,host=’xxx’,port=6600,charset=’gbk’) 登录后复制 一旦指定了&#82…

    编程技术 2025年2月27日
    200
  • python使用dbm持久字典(python微型数据库)详解

    在一些python小型应用程序中,不需要关系型数据库时,可以方便的用持久字典来存储名称/值对,它与python的字典非常类似,主要区别在于数据是在磁盘读取和写入的。另一个区别在于dbm的键和值必须是字符串类型。 1.选择dbm模块 pyth…

    编程技术 2025年2月27日
    200
  • Python生成验证码实例讲解

    在web开发中经常用到验证码,为了防止机器人注册或者恶意登陆和查询等,作用不容小觑 但是验证码其实不是一个函数就能搞定的,它需要生成图片和水印,其实每种语言都有相关的函数生成图片和文字水印。包括我熟悉的php,呵呵,今天主要来分享如何用py…

    编程技术 2025年2月27日
    200
  • 使用python发送邮件和接收邮件

    发邮件是大家工作中最常用到的。今天来看一下怎么用python来发送和接收邮件。 python实现发送和接收邮件功能主要用到poplib和smtplib模块。 poplib用于接收邮件,而smtplib负责发送邮件。 代码如下: #! /us…

    编程技术 2025年2月27日
    200
  • Python简单两步实现天气爬虫采集器

    说道爬虫大家或许感觉非常神秘,其实它没有我们想象的那么神奇(当然,google和baidu的爬虫是一场复杂和强大的,它的强大不是爬虫本身强大,而是后台的数据处理和数据挖掘算法非常强大),今天我们就来揭开它神秘的面纱。呵呵,简单两步就可以实现…

    编程技术 2025年2月27日
    200

发表回复

登录后才能评论