分布式工作流处理。

zag的Python项目详细描述


Latest Version

在一个高度可用、易于理解的 以及声明性的方式(等等!)与OpenStack和其他 项目。

为什么用叉子?

zag是openstack任务流的分支。乔希·哈洛和其他人做了一件惊人的事 多年来创造和维持工作岗位的taskfflow,但它已经萎靡不振 多年来几乎没有更新。以工人为基础的引擎和工作板 taskflow从未得到广泛的使用,所以他们一直被困在一个相当麻烦的地方, 使用状态有点困难。Zag的目标是专注于 件。而且,与其试图支持 在某种程度上符合法案,它将集中在优化与正确的技术。 因此,为此,zag的目标是:

  • 以动物园管理员为中心进行分布式协调。对他人的支持 由Tooz图书馆提供,但ZooKeeper确实是最好的技术 可用于此目的,因此某些功能可能无法与其他功能一起使用。
  • 专注于rabbitmq或其他amqp提供者,用于工人通信。支持 因为其他的功能将通过kombu提供,但是一些功能可能不会 无法使用死信队列延迟任务执行的工作 或重试。
  • 减少跑步时的认知负荷。简单地发布 taskflow中作业板中的作业需要大约50行代码 以及对taskflow如何在后台工作的深入理解。
  • 使写作更简单、更愉快。添加声明性语法 用于构建流并简化参数传递到任务的方式。

为了实现这些目标,需要重构一些taskflow api, 而这将需要打破上游用户。最后,我选择用叉子 换个名字,这样我们就能更快地前进。这将是一个 工作进行了一段时间,所以最初的版本将主要保留 照原样。随着时间的推移,我们将改变一些关键部分。

测试和要求

要求

因为这个项目有很多可选的(可插入的)部分,比如持久性 后端和引擎,我们决定把需求分成两部分 部分:-绝对需要的东西(不能使用项目 没有它们)被放入requirements.txt。要求 此项目的某些可选部分需要的(可以使用 没有它们的项目)被放入我们的test-requirements.txt文件中(因此 我们仍然可以测试可选功能是否按预期工作)。如果 您希望使用所讨论的功能(eventlet)或基于工作机的引擎 使用kombusqlalchemy持久性后端或工作板的 使用kazoo…)构建实现时,应该添加 对项目或环境的要求。

毒性指数

我们的tox.ini文件描述了几个允许测试的测试环境 zag安装了不同的python版本和需求集。 请参阅tox文档以了解如何进行这些测试 环境适合你。

开发人员文档

我们还有docs/source中的sphinx文档。

要构建它,请运行:

$ python setup.py build_sphinx

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

推荐PyPI第三方库


热门话题
加密如何在Java中使用Skipjack(skip32)将数据库中的顺序整数随机化   java Android在两个活动之间传递数据获取NullPointerException   在构造函数中传递的java上下文显示错误   java将密钥添加到选定的密钥集   javascript为什么带有特殊字符的字符串在GET和POST方法中的行为不同?   java将反射。方法创建一个函数接口   设置Javasocket的端口   java通过一次按键调用MenuItem   java和引擎加载图形:为什么我的背景纹理很小,而且是颠倒的   如何将UV纹理从blender加载到opengl 安卓 java   跨Java虚拟机实现的jvm Java toString表示?   spring在Java服务器页面的上下文中这叫什么?