使用amazon swf进行数据流编程的python库

simpleflow的Python项目详细描述


简单流

[![PYPI状态](https://badge.fury.io/py/simpleflow.png)(http://badge.fury.io/py/simpleflow)[![构建状态](https://travis-ci.org/botify-labs/simpleflow.svg?branch=master)(https://travis-ci.org/botify-labs/simpleflow)

simpleflow是一个python库,它提供抽象来编写程序 分布式数据流范型。 它与amazon swf协调分布式任务的执行。

它依赖于未来来描述任务之间的依赖关系。a未来对象 为可能结束的计算的异步执行建模。它试图模仿 python的接口concurrent.futures库。

功能

  • 提供未来抽象来定义任务之间的依赖关系。
  • 从可调用项定义异步任务。
  • 使用Amazon SWF处理工作流。
  • 实现类似于amazon流框架的重播行为。
  • 处理失败任务的重试。
  • 自动注册装饰任务。
  • 将大字段透明地编码/解码到s3对象(也称为"巨型字段")。
  • 用超过100个任务来处理决策的完成。
  • 提供一个本地执行器来检查没有amazon swf的工作流(请参见 simpleflow--local命令)。
  • 提供决策者和活动工作进程,以便使用Amazon SWF执行。
  • 附带simpleflow命令。simpleflow--help了解更多信息 关于它支持的命令。

您可以在文档的"功能"部分中阅读更多内容。

概述

请阅读并运行demo脚本,快速浏览 simpleflow命令。要运行演示程序,您需要启动Decider 以及活动工作进程。

使用::

$ simpleflow decider.start --domain TestDomain --task-list test examples.basic.BasicWorkflow

使用以下命令启动活动工作程序:

$ simpleflow worker.start --domain TestDomain --task-list quickstart

然后执行/extras/demo

更多信息

请阅读主文档:https://botify labs.github.io/simpleflow/" rel="nofollow">https://botify labs.github.io/simpleflow/

更改日志

0.21.13

0.21.12

  • 将子流程32更新为3.5.x(366)

0.21.11

  • 任务/340/远程系统日志支持(345)

0.21.10

  • 任务/数据-7023/本地执行器运行ID(362)
  • 增强364:添加childworkflowtask类(365)
  • 画布:在group()画布中支持工作流任务(360)

0.21.9

  • 修剪工作进程树。(α355)

0.21.8

  • swf:workflowtask:添加使用自定义任务列表的可能性(356)
  • tests/moto_compat.py:新文件(358)
  • 将boto_u config=/dev/null添加到脚本/测试(357)
  • 拼写修复,failuer->;失败(353)

0.21.7

  • 再次修复读取需求-dev.txt(352)

0.21.6

  • 修正阅读要求-dev.txt:roll_u eyes:(351)

0.21.5

  • 从env vars中删除aws凭据的显式处理。(α347)
  • 增强功能:使用Moto 1.x(349)
  • 添加可选的S3服务器端加密(350)

0.21.4

0.21.3

  • 不要尝试多次创建ActivityType(342)

0.21.2

0.21.1

  • simpleflow.execute.python:处理大型参数(339)

0.21.0

  • 功能:重试时的自定义逻辑(332)

0.20.8

  • 公开simpleflow.utils.serialize_complex_object()函数(336)

0.20.7

  • 功能:在工作流上引发失败并重试(334)

0.20.6

  • 改进测试并修复失败时的巨型字段解码(330)
  • 删除future.standard_library.install_aliases()(329)

0.20.5

  • 添加"simpleflow binaries.download"命令

0.20.4

  • K8S作业生成失败时的失败活动任务(328)

0.20.3

  • 小设置改进(323)

0.20.2

  • 将meta添加到metrology,仅在任务结束时上传统计信息(324)

0.20.1

  • 将上下文注入python子进程(322)

0.20.0

  • feature/318/simpleflow下载二进制文件(321)

0.19.2

  • 慢速巨型缓存修复(320)

0.19.1

0.19.0

  • Kubernetes集成(313)

0.18.15

  • 错误修复:传播信号(312)
  • 增强功能:继承标记列表(314)
    • 需要时为SWF决策执行上下文留空
  • 将不明确的"执行上下文"重命名为"运行上下文"(310)

0.18.14

  • 更新文档链接(306)
  • 在每个决策任务上使用fork来防止内存泄漏(200)(308)
  • 不要截断太长的字段,改为提升(关闭307)(309)

0.18.13

  • 修复磁盘缓存操作错误(303)

0.18.12

  • 增强:保存执行上下文中的等待信号(300)
  • 将片状测试标记为预期失败(301)

0.18.11

  • 允许组中的工作流实例(299)

0.18.10

  • 当recordactivitytaskheartbeat端点(297)上发生限制异常时不要引发

0.18.9

  • 修复活动。重新运行不处理基于类的任务(289)
  • 添加新选项(和参数)--杀死子项(292)

0.18.8

  • 将工人转移到sigchld处理程序(290)外部进行清理/启动

0.18.7

  • 修复manifest.in,使readme.md包含在最终包中

0.18.6

  • 添加新的超时参数(286)

0.18.5

  • 文件大修(284)
  • 添加发布脚本(关闭179)(287)

0.18.4

  • 改进过程停止(283)

0.18.3

  • 增强/276/改进执行python(280)

0.18.2

  • 错误修复:任务失败详细信息(281)
  • 添加对json转储的集支持(275)

0.18.1

  • 添加回"获取工作流"历史记录

0.18.0

  • 实现"jumbo"字段(265)

0.17.0

  • 增强/272/实施工作流取消(273)
  • 修正:270:信号改进(271)
  • 增强功能:定时器:获取事件详细信息(269)
  • 附加"/"以获取步骤路径前缀(268)
  • 增强/其他(266)
  • 修复重新运行成功的子工作流(191)

0.16.0

  • 特点:计时器(258)

0.15.7

  • 在心跳期间杀死未知资源故障的工作人员(88(263)
  • 默认情况下,在json转储(264)中对键排序

0.15.6

  • 固定步骤属性传播(261)
  • 增强功能:获取活动详细信息(235)

0.15.5

  • 增强:区分任务和组之间的失败(255)
  • 添加时间常数
  • 放松活动。使用属性超时类型

0.15.4

  • 增强:添加画布选项break_on_u failure(253)
  • 从activitytask计算task的id,如果有get-task id方法(237)
  • 另一个错误任务列表的情况(234)

0.15.3

  • 在步骤活动(249)中使raise=true
  • swf:支持非python任务(219)
  • 修复get_step_path_前缀
  • 使markertask的幂等元

0.15.2

  • 在执行步骤之前标记计划步骤的时间(243)

0.15.1

  • 增强:更好的活动类型原因(238)
  • 修复在dispatch()步骤(246)期间未捕获错误的工作线程
  • 修复画布。链发送结果回归(247)

0.15.0

  • 特点:台阶(221)
  • 使活动任务结果可选(225)
  • 使用名称之外的详细信息查找标记(227)
  • 日志记录:添加异常信息(163)
  • SWF/参与者:支持"消息"键(224)
  • 实施标记(216)(217)
  • 在swf.process.poller.poll上添加重试并失败(208)

0.14.2

  • 传播属性:跳过信号对象(215)
  • 本地执行者:勾选添加活动任务(215)

0.14.1

  • 如果raises_on_failure为false(213),则不向上发送异常。
  • 修复Windows计算机上的UnicodedeCoderror(211)
  • 尽量少用内存(209)
  • 独立模式:将创建的任务列表用于子活动(207)

0.14.0

  • 修复在关闭期间启动时不停止的工人(205)
  • 增加对swf信号的支持(188)
  • 画布上的改进。组(204)

0.13.4

  • 在SWF和本地工作流上实施计量(186)

0.13.3

  • 尝试..除了nosuchprocess的pass(182)

0.13.2

  • 添加可选画布(193)
  • 重新组织测试/目录(198)
  • 放松DeciderPoller任务列表检查(201)
  • 执行SWF任务的优先级(199)

0.13.1

  • 修复swf执行器不接受activitytask的in submit()方法(196)

0.13.0

  • 实现子工作流(74)
  • 不要多次安排等幂任务(107)
  • 子工作流ID:使用父工作流ID生成

0.12.7

  • 通过环境控制SWF过程标识(184)

0.12.6

  • execution对象替换为更灵活的get_execution_method()(177)
  • 修复自述文件swf.rst格式(175)
  • 修复contribution.rst格式
  • docs/conf.py:删除相对导入

0.12.5

  • 执行者:公开工作流执行(172)

0.12.4

  • 避免向RespondDecisiontaskCompleted端点(166)返回太大的响应
  • 工作人员:移除无用的监视器儿童(168)

0.12.3

  • 在组中添加max_parallel选项(164)

0.12.2

  • 使动态调度程序更加灵活(161)
  • 修复readme.rst格式(160)
  • 微小的命令行可用性修复(158)

0.12.1

  • 不要重写json_dumps()中传递的"default"(155)
  • 暴露活动上下文(156)

0.12.0

  • 改进流程管理(142)

0.11.17

  • 不要在多处理(141)的后面收获子进程
  • 不要强制将工作流传递给活动工作人员(133)
  • 如果任务列表不独立(139)
  • 拆分功能组提交(146)
  • ci:python 3上的测试(144)
  • 决策者:如果未设置任务列表(148)

0.11.16

  • 重构:清理和许多python 3兼容性问题已修复(135)
  • 引入aggregationexception以检查canvas.group/chain(92)中的异常
  • 改善心跳,现在默认情况下在Activity Workers上启用(136)

0.11.15

  • 如果没有标记与工作流关联,则修复标记列表声明
  • 修复列出的工作流任务未正确处理"已计划"(未启动)任务的问题
  • 修正csv格式化程序在输出结束时输出一个额外的"无"
  • 修复解决错误函数的"simpleflow activity.rerun"如果不是最后一个事件,请命名

0.11.14

  • 围绕流程管理、心跳、日志记录(110)

0.11.13

  • 添加为"simpleflow standalone--repair"提供"run id"的功能

0.11.12

  • fix——simpleflow standalone的tags参数(114)
  • 改进测试并添加集成测试(116)
  • 添加"simpleflow activity.rerun"命令(117)

0.11.11

  • 修复simpleflow.swf.executor上的循环导入

0.11.10

  • 修复以前的历史初始化(106)
  • 改进WorkflowExecutionQuerySet默认日期值(111)

0.11.9

  • 添加一个--repair选项到simpleflow standalone(100)

0.11.8

  • 请重试boto.swf连接,以避免在使用IAM角色(99)时出现频繁错误。

0.11.7

与0.11.6相同,但pypi上的0.11.6已损坏(误推了与0.11.5类似的内容)

0.11.6

  • 添加issubClass\u方法(96)
  • 如果根日志记录器具有处理程序(97)
  • 允许通过SWF\U DOMAIN环境变量(98)传递SWF DOMAIN

0.11.5

  • 不屏蔽活动取消异常(84)
  • 将所有决策响应属性传播到executor.replay()(76,94)

0.11.4

  • 工作流历史记录中的ISO日期91
  • 修复潜在的无限重试循环90

0.11.3

  • 修正0.11.2中引入的重播挂钩(86)
  • 从自述文件中删除python3兼容性(该文件长时间不起作用)

0.11.2

  • 添加新的工作流挂钩(79)

0.11.1

  • 修复发生异常时的日志记录

0.11.0

  • 将swf包合并到simplefow中以便于维护。

0.10.4及以下

很抱歉,没有为simpleflow<;=0.10.x记录更改。

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

推荐PyPI第三方库


热门话题
java时区。getTimeZone()返回给定空字符串的GTC区域,是否不需要?   java如何向用户显示更改的字符串   Eclipse中的java Python路径不工作   Java对象数组行为异常?   java工具,可以在不完全覆盖异常状态的情况下查找代码片段   oauth使用Xero的Java SDK支持多个私有应用的身份验证?   java无法从远程方法获取值   java如何使用Hibernate将父对象映射到子对象?   java如何导入Eclipse警告?   api最佳3D Java引擎   java如何在Rest客户端使用的Json序列化程序上设置特定格式的表示?   java在EclipseRCP4中使用默认命令。十、   java JBoss v.s.Tomcat JDBC驱动程序注册差异   java如何在JDesktopPane的后台创建JLabel?   java I在静态main方法和输入非静态值方面有问题