Django中BeanstalkD客户机和工作人员使用Python的BeanstalkC库的方便包装器

django-beanstalkd的Python项目详细描述


django beanstalkd
==django beanstalkd*是[beanstalkd][beanstalkd]
[python bindings][beanstalkc]的方便包装器。


django beanstalkd可以在应用程序中以最小的开销编写django项目中的作业和客户端。服务器连接等都位于django beanstalk中,不要不必要地阻塞您的应用程序代码。


此库很大程度上基于fred wenzel的[django gearman][django gearman]。
如果您正在寻找作业的同步执行,请查看[gearman][gearman]
和fred的库!beanstalkd只对后台进程有用。

[beanstalkd]:http://kr.github.com/beanstalkd/
[beanstalkc]:http://github.com/earl/beanstalkc/
[gearman]:http://gearman.org/
[django gearman]:http://github.com/fwenzel/django gearman

django项目的状态:

pip install django beanstalkd


将"django"beanstalkd添加到"settings.py"的"installed撸apps"部分中。


"My beanstalkd SE"server
beanstalk_server='127.0.0.1:11300'謺默认值

如果需要,可以指定要应用于beanstalk worker的模式
函数:

beanstalk作业名称模式。这里是命名空间等。这是模式
您的作业将注册为服务器,当从非django beanstalk客户端调用它们时,您需要使用
(替换模式为:
(app)s:django app name该作业在
(job)s:job name
(beanstalk)job name='%(app)s.%(job)s'


workers
----
作业必须接受调用方传递的单个字符串参数


nage.py beanstalk_worker`.它将开始
为所有已注册的作业提供服务。

若要生成多个工作线程(例如,如果您的大多数作业都是I/O绑定的),请使用`-w'选项:


将启动五个工作线程。

因为进程将在等待和执行作业时继续运行,
您可能希望在屏幕会话或类似的会话中运行此操作。

创建'django_beanstalkd.beanstalk client'类和'call'a
函数的实例:

from django_beanstalkd import beanstalkclient
client=beanstalkclient()
client.call('beanstalk_example.background_counting','5')


gement/commands/beanstalk_example_client.py`文件。"call"的参数是

priority:指定优先级的整数。优先级小于
的作业首先执行
延迟:在保留作业之前要等待多少秒
ttr:在重新排队之前,工人必须处理作业需要多少秒


r
"已安装的应用程序",然后在一个shell中运行一个worker:



并在另一个shell中执行示例应用程序:

python manage.py beanstalk_example U client

您可以看到客户端正在发送数据,以及正在处理数据的工作进程。


licensing
--
此软件是在[Mozilla Tri-license][MPL]下获得许可的:

*begin license block***
版本:mpl 1.1/gpl 2.0/lgpl 2.1

lla public license version
1.1("许可证");除非符合
许可证,否则您不能使用此文件。您可以在
http://www.mozilla.org/mpl/


http://www.mozilla.org/mpl/

处获得许可证副本,根据许可证分发的软件是按"原样"分发的,
无任何形式的明示或暗示担保。有关
许可证下的特定语言管理权利和限制,请参见许可证。


原始代码是Django Gearman。

原始代码的初始开发人员是Mozilla。
初始开发人员创建的部分是版权所有(C)2010
初始开发人员。保留所有权利。

contributor(s):
jonas vp<;jvp@jonasundderwolf.de>;
frederic wenzel<;fwenzel@mozilla.com>;
jeff balogh<;me@jeffbalogh.org>;
kimi huang<;kimi.huang@brightcell.com>;

或者,此文件的内容可以根据
GNU通用公共许可证版本2或更高版本("GPL"),或
GNU通用公共许可证版本2.1或更高版本("LGPL"),
在这种情况下,GPL或LGPL的规定适用于上述规定。如果您希望仅允许在GPL或LGPL条款下使用您的本文件版本,而不允许其他人在MPL条款下使用您的本文件版本,请通过删除上述条款来表明您的
决定,并用通知
和GPL或LGPL。如果您不删除上述规定,收件人可以在MPL、GPL或LGPL的任何一个条款下使用您的本文件版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JNLP无法在浏览器中正确启动(与dtjava.js一起部署)   在执行下一个方法之前,java将等待线程执行结束   java如何将另一个LayoutManager应用于JComboBox?(多栏JComboBox尝试)   使用jPBC在java中实现双线性配对   java在使用@RequestMapping注释时获取请求的值(URL)   java如何控制流量   java如何获取IFC对象的绝对坐标?   java目标服务器无法使用htmlunit和tor响应异常   java需要帮助创建一个循环结构来运行我的程序   java有可能拥有一个Android APK并在应用程序中更改构建变体吗?   在Sphinx4中运行Ant的java   Java:从ArrayList获取子列表的有效方法   java如何使在循环内部创建的数组在循环外部工作?   apache poi通过java中的XSSF表从单元格读取日期值   安卓 java自己的SeqLock实现,避免spinlock会更好吗?   java的并发底层方法。util。同时发生的预定未来   java比较方法违反了它的一般约定,如何使它具有可传递性?   使用JAVA定向指定类的DB导出子类   一个方法中的java更改特定imageView