卡达斯塔工人工具箱

cadasta-workertoolbox的Python项目详细描述


cadasta.workertoolbox.conf.config

config 类是为了简化芹菜设置的配置而构建的, 帮助确保所有工人遵守体系结构 cadasta异步系统的要求。它本质上提供了 芹菜的默认配置和配置之间的差异 我们系统的要求。这个班的目的是不需要太多 开发人员的定制,但是一些定制 在改变环境之间的配置时可能需要(例如,如果 dev设置与prod设置差别很大。

任何 芹菜 设置 可以通过关键字参数或环境变量提交。 通过关键字参数提交的参数应符合 芹菜较新的小写设置,而不是较旧的大写设置 相对应的人。环境变量提供的参数应为 大写,前缀为芹菜(例如,设置 task_track_started 值,一个环境变量 应设置芹菜任务轨迹。前缀可以是 使用提供的 env_prefix 关键字参数自定义,或 芹菜env前缀 环境变量。如果两个参数都是关键字 和环境变量被提供给一个设置,关键字 参数优先。具有非字符串默认值的设置将具有 环境变量值贯穿始终 `ast.literal戥eval <;https://docs.python.org/3/library/ast.html戥ast.literal戥eval" rel="nofollow">https://docs.python.org/3/library/ast.html戥ast.literal戥eval>;`, 支持python原生类型,如 bool tuple 。只有 调用 conf上的 repr 时显示小写设置。 实例。

一旦应用,所有设置(和内部变量)都可以在 芹菜 app 实例的 app.conf 对象。

提供的配置

下面是 config 类将提供给 芹菜 实例。

结果后端

默认为 'db+postgresql://{0.结果数据库用户}:{0.结果数据库通过}@{0.结果数据库主机}/{0.结果数据库名称} self 渲染

经纪人运输

默认为 'sqs '。

经纪人运输选项

默认为:

{'region':'us-west-2','queue_name_prefix':'{}-'.format(QUEUE_NAME_PREFIX)}
任务队列

默认值如下 设置 kombu.queue 对象的 ,其中 queues 是配置的内部变量 exchange 是由 任务默认交换 任务默认交换类型 设置:

set([Queue('celery',exchange,routing_key='celery'),Queue(platform_queue,exchange,routing_key='#'),]+[Queue(q_name,exchange,routing_key=q_name)forq_nameinqueues])

注意:建议开发人员不要更改此设置。

任务路径

默认为一个函数,该函数将用 路由键 匹配任务名称第一个索引处的值 在 和设置为a kombu.exchange的 交换上拆分 由任务默认交换构造的对象 任务默认交换类型 设置

注意:建议开发人员不要更改此设置。

任务默认交换

默认为"任务交换"

任务默认交换类型

默认为 'topic'

任务跟踪已启动

默认为

内部变量

以下是参数和环境变量,可用于 自定义上述提供的配置。按照惯例,所有变量 用来构造芹菜的配置应该写完整 大写字母。除非另有说明,所有变量都可以通过 参数或环境变量(参数优先)。

排队

它应该包含所有与服务相关的队列的名称数组 由卡达斯塔平台使用。这些值用于构造 任务队列 配置。为了路由跟踪的目的 任务,重要的是每个任务使用者都知道所有队列 可用。因此,如果任何服务工作者使用队列 然后应该在此数组中指定它。没有必要 包括 "芹菜" "platform.fifo" 队列。默认为 模块中 default_queues 变量的内容 ``uu init\.py 文件<;/cadasta/workertoolbox/`uu init\.py>;``uu.

平台队列名称

默认为 'platform.fifo'

注意:建议开发人员不要更改此设置。

和弦解锁最大重试次数

用于设置芹菜的最大次数。chord_unlock任务 可以在放弃前重试。见芹菜/芹菜2725。默认为 43200 (意思是6小时后放弃,假设 任务的默认重试延迟设置为1秒。

设置文件记录

控制是否应将默认日志记录配置应用于 申请书。这至少包括:

  • 信息 级别日志创建控制台日志处理程序
  • 信息级日志的文件日志处理程序,保存到 应用程序信息日志
  • 用于 错误 级别日志的文件日志处理程序,保存到 app.error.log

注意:这可能有助于调试,但是在生产中 建议直接登录stdout(芹菜的默认设置)

设置哨兵日志

如果设置了所有必需的环境变量,则默认为 true, 否则 错误 。控制是否 哨兵 日志处理程序应该是 设置。sentry需要环境变量 要自动设置的日志。如果满足此条件,则 设置如下:

  • 添加ps://docs.sentry.io/clients/python/integrations/celeriy/" rel="nofollow">哨兵信号 处理程序 记录所有失败的任务
队列前缀

用于填充连接的队列名称前缀值 代理传输选项 。默认为 'dev'

结果数据库用户

用于填充默认的"结果"后端模板。默认为 'cadasta'

结果数据库通过

用于填充默认的"结果"后端模板。默认为 'cadasta'

结果数据库主机

用于填充默认的"结果"后端模板。默认为 "本地主机"

结果数据库端口

用于填充默认的"结果"后端模板。默认为 'cadasta'

结果数据库名称

用于填充默认的"结果"后端模板。默认值 '5432'

cadasta.workertoolbox.setup.setup_应用程序

在向芹菜应用程序提供配置对象之后 是正确配置应用程序必须遵循的其他存储。 例如,配置中描述的交换和队列 必须声明。此函数调用那些必需的后续操作 程序。通常,它由 `worker嫒init <; http://docs.celleryproject.org/en/latest/userguide/signals.html"`_ 但是,它必须由运行的代码库手动调用 仅作为任务生成器或来自python shell。

它需要两个参数:

  • 应用程序实例。 必需的
  • throw -布尔值规定是否应在失败时引发错误 设置。否则,错误将简单地记录到模块记录器中 在 异常 级别。 可选,默认值:true

cadasta.workertoolbox.tests.build_functional_测试

当提供芹菜应用程序实例时,此函数将生成 一套功能测试,以确保提供的应用程序 配置和功能符合 CADASTA异步系统。

一个例子,其中一个实例和配置的 芹菜() 应用程序 实例存在于并行的芹菜模块中:

fromcadasta.workertoolbox.testsimportbuild_functional_testsfrom.celeryimportappFunctionalTests=build_functional_tests(app)

要运行这些测试,请使用标准测试运行程序(例如 pytest )或 从命令行手动调用:

python -m unittest path/to/tests.py

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

推荐PyPI第三方库


热门话题
javascript问题:通过URL用网站数据填充Textview   java TabLayout Android,如何用几个标签填充整个屏幕宽度,并用大量标签滚动?   Eclipse Java运行的文件不再存在于我的工作区中   安装两个Java版本时,使用Java的windows链接不起作用   java将多个图形添加到单个JPanel   java Kafka ConsumerFactory,带有两个Desiarizer   使用反射更改java类超类   当一致性测试失败时,java有没有办法让堆栈跟踪显示在控制台中   java映射到基元类型的HashMap的快速替代方案是什么?   java关闭一个jframe所有剩余的打开jframe都将关闭。   java为什么不推荐“使用getString()获取设备标识符”?   java值比较和值赋值之间有什么性能差异吗?   Java实体数组到JavaScript数组   java使用流将一个列表转换为另一个列表   在JTree中保存对象,但更改显示的名称(java swing)?   java“Hello world”Android应用程序,文件尽可能少,没有IDE,只有文本编辑器   java在方法之间传递值   java如何为项目数组创建ParseQuery?