构建用于安装与zope的zca一起使用的芹菜并使用ini文件配置它的方法。

md.recipe.celer的Python项目详细描述


简介
此配方定义了一个自定义加载程序,可以从ini文件中读取芹菜配置。
这允许您使用模板为
示例生成配置,使用collective.recipe.template。自定义加载程序还可以在工人初始化时自动引导zca。


logging_conf=etc/logging.ini
zope_conf=etc/zope.conf



使用此选项可以
添加其他依赖项,如"kombu sqlalchemy"或包含任务定义的模块。


Celery_conf
Celery configuration.ini文件的位置。


logging_conf
包含Python日志的文件的位置设置zope配置文件的位置。






otherapp.tasks
芹菜结果后端=sqlite:///芹菜结果.db
芹菜结果序列化器=json

[芹菜节拍:task1]
每小时执行一次
task=myapp.tasks.task1
type=crontab
schedule={"分钟":0}

[cellerybeat:task2]
每隔30秒执行一次
task=myapp.tasks.task2
type=timedelta
schedule={"seconds":30}

[cellerybeat:task3]
午夜执行
task=otherapp.tasks.task3
type=crontab
schedule={"hour":0,"minute":0}

[celeri]部分定义了所有的芹菜选项。每个[芹菜节拍]
节定义一个单独的任务。


…[芹菜]
…broker_url=sqlite:///芹菜_broker.db
…芹菜进口=myapp.tasks,otherapp.tasks
…芹菜结果后端=sqlite:///芹菜结果.db
…芹菜结果序列化器=json

…[芹菜节拍:任务1]
…#每小时执行一次…task=myapp.tasks.task1
…类型=crontab
…日程表={"分钟":0}

…[芹菜节拍:任务2]
…#每30秒执行一次
…task=myapp.tasks.task2
…类型=时间增量
…日程表={"秒":30}

…[芹菜节拍:任务3]
…#午夜执行…task=otherapp.tasks.task3
…类型=crontab
…schedule={"hour":0,"minute":0}")


…[伐木工人]
…键=根

…[处理程序]
…键=控制台

…[格式化程序]
…键=通用

…[日志根]
…级别=信息
…处理程序=控制台

…[处理程序控制台]
…类=streamhandler
…参数=(sys.stderr,)
…级别=未设置
…格式化程序=通用

[格式化程序常规]
…format=%(asctime)s%(levelname)s[%(name)s]%(message)s"")


然后我们将创建一个使用配方的构建:

>;>write(示例构建,'buildout.cfg',
…""
…[构建]
…部分=芹菜
…索引=%(服务器)s/索引
…查找链接=%(服务器)s

…[芹菜]
…recipe=md.recipe.celeri
…芹菜配置=芹菜.ini
…logging_conf=logging.ini
…zope_conf=zope.conf
…""%dict(
…server=link_server))


运行构建会给我们带来::

>;打印系统(构建)
安装芹菜。
芹菜:创建目录/sample buildout/parts/celeriy。
芹菜:生成加载程序文件/sample buildout/parts/celeri/zopeloader.py。
获取"芹菜"的分发。
获取芹菜2.3.1。
生成脚本'/sample buildout/bin/celleryctl.'
生成的脚本'/sample buildout/bin/celleryd.'
<;blankline>;

我们得到了芹菜加载器::

>;>ls(示例"构建"、"部件"、"芹菜")
-loader.py
-zopeloader.py

[('broker_url','sqlite:///celeriry_broker.db'),
('celeribeat_schedule',
{'task1':{'schedule':<;crontab:0****(m/h/d/dm/my)>;,
'task':'myapp.tasks.task1'},
'task2':{'schedule':datetime.timedelta(0,30),
"任务":"myapp.tasks.task2"},
"任务3":{"日程安排":<;crontab:0***(m/h/d/dm/my)>;,
"任务":"otherapp.tasks.task3"},
("芹菜劫持根记录器",false),
("芹菜导入","myapp.tasks","otherapp.tasks"],
("Celery_result_backend"、"sqlite:///Celery_results.db"),
("Celery_result_serializer"、"json")]
<;blankline>;


>我们可以使用eggs选项包括其他eggs::

>;>;写入(示例构建,'buildout.cfg',
…"
…[构建]
…部分=芹菜
…索引=%(服务器)s/索引
…查找链接=%(服务器)s

…[芹菜]
…recipe=md.recipe.celeri
…鸡蛋=
…其他
…"%dict(server=link_server))

>>gt;打印系统(构建),
卸载芹菜。
安装芹菜。
芹菜:生成加载程序文件/示例构建/部件/芹菜/zopeloader.py。
获取"其他"的分发。
获取其他1.0。
生成脚本"/sample buildout/bin/celleryctl"。
生成脚本"/sample buildout/bin/celleryd"。
生成脚本"/sample buildout/bin/distutilsscript"。

通过将芹菜固定到另一个版本并检查输出的脚本之一来触发此操作。

>;>;写入(示例"buildout,'buildout.cfg',
…"
…[构建]
…部分=芹菜
…索引=%(服务器)s/索引
…查找链接=%(服务器)s

…[版本]
…芹菜=2.3.0

…[芹菜]
…recipe=md.recipe.celeri
…鸡蛋=
…其他
…"%dict(server=link_server))

>>>打印系统(构建)
更新芹菜。
芹菜:生成加载程序文件/sample buildout/parts/celeri/zopeloader.py。
获取"芹菜==2.3.0"的分布。
获取芹菜2.3.0。
生成脚本/sample buildout/bin/celleryctl。
ge生成的脚本"/sample buildout/bin/celleryd"。
生成的脚本"/sample buildout/bin/distutilsscript"。

>;>>;cat(sample懔buildout,'bin','celleryctl')
!/用户/rwendt/projects/python/bin/python
<;blankline>;
导入sys
sys.path[0:0]=[
'/sample buildout/eggs/celeri-2.3.0-py2.7.egg',
'/sample buildout/eggs/other-1.0-py2.7.egg',
'/sample buildout/parts/celeri',
]
**


我们可以控制使用脚本选项生成哪些脚本。
如果未给定值,则禁用脚本生成:

>;>write(示例"buildout,'buildout.cfg',
…"
…[构建]
…部分=芹菜
…索引=%(服务器)s/索引
…查找链接=%(服务器)s

…[芹菜]
…recipe=md.recipe.celeri
…脚本=
…""%dict(server=link_server))

>>gt;打印系统(构建),
卸载芹菜。
安装芹菜。
芹菜:生成加载程序文件/示例构建/部件/芹菜/zopeloader.py。

>>ls(示例构建,"bin")
-buildout

让我们仅创建芹菜脚本::

>;>;写入(示例"buildout,'buildout.cfg',
…"
…[构建]
…部分=芹菜
…索引=%(服务器)s/索引
…查找链接=%(服务器)s

…[芹菜]
…recipe=md.recipe.celeri
…脚本=
…芹菜
…"%dict(server=link_server))

>;>;打印系统(构建),
卸载芹菜。
安装芹菜。
芹菜:生成加载程序文件/示例构建/部件/芹菜/zopeloader.py。
生成脚本/sample buildout/bin/芹菜。

>;ls(sample‘u buildout‘bin’)
-buildout
-celleryd



=
=
=
=
=


=

=
1.1(2013-12-19)
===









>1.0(2013-12-18)








=====
========================

-初始版本。大致基于collective.recipe.芹菜。

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

推荐PyPI第三方库


热门话题
从对象进行java类型转换   javascript如何处理JS从复选框中获取的值,然后在Java操作中使用它?   使用Mongo Java驱动程序3.0从Mongo集合获取字段的不同值时出现mongodb异常   当AEM工作流失败时,java是否发送电子邮件通知?   java在同一路径上扩展REST类和重写方法   基于java的新闻网站管理系统   java如何在MySQL中防止时间戳舍入   java字节到整数   java JNI抛出中断方法执行吗?   比较JAVA中字符串内的数值   使用DropWizard对动态模式进行java JSON解析   json如何使用带点运算符的字符串访问嵌套java成员变量值   java在需要唯一元素和索引访问时设置vs列表   java以编程方式单击场景2D LibGDX中的按钮   java如何在Spring Boot中记录无效404请求的请求路径?   按钮按下时变量的随机Java抓取结果   更改屏幕后java应用程序崩溃   Java中使用通配符的泛型