使用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记录更改。