CHANGES

  • 更新 TOX_CONSTRAINTS_FILE 以支持 stable/2025.2

  • 更新 .gitreview 以支持 stable/2025.2

6.0.2

  • 升级 etcd 到 3.5.x

  • 允许在测试中覆盖 etcd 版本

  • fix(conductor): 添加停止和等待方法到基础类

6.0.1

  • 修复跳过的数据库持久化测试

  • 修复重复的 table_name 参数

6.0.0

  • 添加 pyproject.toml 以支持 pip 23.1

  • 添加掩码密钥的发布说明

  • 将掩码密钥参数添加到故障日志记录

  • 运行 pyupgrade 以清理 Python 2 语法

  • redis: 在禁用 ssl 时省略 ssl 选项

  • 跳过 .gitreview 更新的功能测试

  • 移除进程执行器

  • 在 Ubuntu Jammy 上保留 taskflow 文档作业

  • 更新 master 以支持 stable/2025.1

  • 使用 oslo.utils 实现来解析 sentinel 地址

  • 将 taskflow 中所有表的索引设置为唯一

5.12.0

5.11.0

  • 跳过安装以加快 pep8 速度

  • 弃用 eventlet 的实用工具

  • 修复错别字

  • 跳过许可证文件更新的功能作业

  • pre-commit: 升级版本

  • 移除 “test” 额外依赖

  • 同步测试需求

  • 移除运行时依赖中的 zake

  • 读取 pifpaf 环境以检测服务端口

  • 删除未使用的常量

  • 升级测试中的 etcd

  • 替换 oslo_utils.encodeutils.exception_to_unicode

  • 升级 pylint

  • 跳过文档更新的功能测试

  • reno: 更新 master 以支持 unmaintained/2023.1

5.10.0

  • 添加关于 requirements 下限的说明

  • 移除对 Python 3.8 的支持

  • 声明对 Python 3.12 的支持

  • 移除未使用的 pkg_resources 用法

  • 删除 SQLALCHEMY_WARN_20

  • 更新 master 以支持 stable/2024.2

5.9.1

5.9.0

  • “添加 Etcd 后端用于 jobboard” 的后续操作

  • 添加使用 etcd 的功能测试

  • 添加 Etcd 后端用于 jobboard

5.8.0

  • Python3.12: 禁用 process_executor,它依赖于 asyncore

  • 修复无序 Flows 中带有重试的 REVERT_ALL

  • 移除 SQLAlchemy 提示作业

  • 移除旧的排除项

  • 移除 assertRaisesRegex

  • 替换已弃用的 Engine.execute

5.7.0

  • 添加启用 redis 的功能作业

  • db: 不要依赖分支连接

  • 修复 redis jobboard 驱动程序的损坏的单元测试

  • 修复 update-states 目标

  • 撤销 “使用一致的 Redis 和 Redis Sentinel 凭据”

  • 更新 master 以支持 stable/2024.1

  • reno: 更新 master 以支持 unmaintained/victoria

5.5.0

  • 防止潜在的 ReDoS 攻击

  • redis: 支持备用服务器

  • 使用一致的 Redis 和 Redis Sentinel 凭据

  • redis: 为 sentinel 启用 SSL

  • redis: 添加用户名

  • Bump hacking

  • 替换已弃用的 perl 风格的正则表达式

  • 清理 setup.py 和 requirements

  • 更新 setup.cfg 中的 python 分类器

  • coveragerc: 移除不存在的路径

  • 修复 python shebang

  • 避免在 StorageFailure 上出现无尽的堆栈跟踪

  • 修复存储异常的不正确处理

  • bindep: 使用新的 mysql-* 包名称

  • 更新 master 以支持 stable/2023.2

5.4.0

  • 更新 redis 依赖到 >=3.0.0

5.3.0

  • 添加使用 SQLAlchemy master (2.x) 进行测试的作业

  • db: 不要依赖 autocommit 行为

  • tests: 启用 SQLAlchemy 2.0 弃用警告

  • tests: 使用有效的 IPv6 地址

5.2.0

  • 撤销“将支持的 python 运行时从版本 3.8 更改为 3.10”

  • 将支持的 python 运行时从版本 3.8 更改为 3.10

  • 升级开发状态

  • 修复使用 Sphinx 6.0 构建文档

  • 为 sqlalchemy2 准备 taskflow

  • 更新 master 以支持 stable/2023.1

  • 修复 zookeeper jobboard 后端选项的解析

5.1.0

  • 修复 python 3.11 中的 test_while_is_not

  • 将 StrictRedis 用法更改为 Redis

  • 移除代码中的 unicode 前缀

  • 适应新的 jsonschema 版本

  • 将 abc.abstractproperty 替换为 property 和 abc.abstractmethod

5.0.0

  • 引用字符串表示形式

  • 修复发布列表的格式

  • 移除 six

  • 在测试运行时移除对 python3.6/3.7 的支持

  • 如果无法使用,则从后端删除作业

4.7.0

  • 更新 CI 以使用未版本化的 jobs 模板

  • 修复 atomdetails 失败列大小

  • 修复单元测试

4.6.4

  • 处理 RedisJobBoard 中的无效 redis 条目

  • 修复 ActionEngine 异常消息中的小错误

  • 使用 LOG.warning 代替已弃用的 LOG.warn

4.6.3

4.6.2

  • 替换从 collections 导入 ABCs 的已弃用导入

  • 使用自定义 JSONType 列

4.6.1

  • 更新为 OFTC IRC 网络

  • 修复 flowdetails meta 大小

  • 使用 unittest.mock 代替 mock

  • setup.cfg: 将破折号替换为下划线

  • 将 flake8 移动到 pre-commit 本地目标

  • 删除 lower-constraints 残留物

4.6.0

  • 修复已弃用的 Alembic 函数参数

  • 移除较低约束的测试

  • 使用 TOX_CONSTRAINTS_FILE

  • 将 py3 作为 tox 的默认运行时

  • 添加 Python3 wallaby 单元测试

  • 更新 master 以支持 stable/victoria

  • 忽略 reno 生成的工件

  • 添加 pre-commit

4.5.0

  • [目标] 将测试迁移到 ubuntu focal

4.4.0

  • 避免在 StorageFailure 上出现无尽循环

  • 添加 sentinel redis 支持

  • 切换到使用 Python 3.x 方法代替 unittest2 兼容方法

4.3.1

  • 使 test-setup.sh 与 mysql8 兼容

4.3.0

  • 停止使用 __future__ 模块

4.2.0

  • 切换到更新的 openstackdocstheme 和 reno 版本

  • 将 jsonschema 3.2.0 作为最小版本限制

  • 导入模块,而不是类

  • 将默认 tox env 从 py37 升级到 py38

  • 添加 py38 包元数据

  • 将发布说明链接添加到文档索引

  • 移除对已弃用的 collections 类的使用

  • 添加 Python3 victoria 单元测试

  • 更新 master 以支持 stable/ussuri

4.1.0

  • Zookeeper 后端 SSL 支持

4.0.0

  • [ussuri][目标] 移除 python 2.7 的支持和测试

3.8.0

  • 切换到 Ussuri jobs

  • 更新 TaskFlow 以支持 networkx 2.x

  • 更新 master 以支持 stable/train

  • 修复 python3.8 hmac 兼容性

3.7.1

  • 为 atomdetails 结果使用 mysql LONGTEXT

  • 添加 Python 3 Train 单元测试

  • 添加本地 bindep.txt

  • 移除未使用的 tools/tox_install.sh

3.7.0

  • 更新 git.openstack.org 到 opendev

  • 移除 py35 测试

  • 移除 debtcollector 需求

  • 更新 Sphinx 需求

3.6.0

  • 移除未使用的 tools/tox_install.sh

  • 处理 collections.abc 弃用

  • 取消限制 jsonschema

  • OpenDev 迁移补丁

  • 更新 master 以支持 stable/stein

  • 添加 python 3.7 单元测试任务

3.4.0

  • 将测试需求移出运行时需求

  • 将 openstack-dev 更改为 openstack-discuss

3.3.1

  • 更新 doc/conf.py 以避免与 sphinx 1.8 产生警告

  • 使用模板进行 cover 和 lower-constraints

  • 移除重复的单词

  • 修复一个符号错误

  • 使用 taskflow 日志记录器创建 KazooClient

  • 添加 lib-forward-testing-python3 测试任务

  • 添加 python 3.6 单元测试任务

  • 添加正确的 pydot3 依赖

  • 从 project-config 导入 zuul 任务设置

  • 切换到使用 stestr 进行单元测试

  • 添加 pydot 测试依赖

  • 移除 PyPI 下载

  • 更新 reno 以支持 stable/rocky

  • 更新文档中的各种链接

3.2.0

  • 移除未使用的链接目标

  • 修复代码以支持 networkx > 1.0

  • 将发布说明添加到 README.rst

  • 将 http 替换为 https

  • 更新 README 中的链接

  • 修复 tox python3 覆盖

  • 删除 tox.ini 中的 py34 目标

  • 取消限制 networkx

  • 为 pep8 和 docs 环境提供它们所需的所有依赖项

  • 琐碎:更新 pypi url 到新 url

  • 修复文档构建

  • 琐碎: 更新 pypi url 到新 url

  • 停止使用 tox_install.sh

  • 仅在 pep8 测试作业中运行 doc8

  • 标准化 tox.ini 中的缩进

  • 将默认 python 设置为 python3

  • 如果没有任何操作,则不要让 tox_install.sh 报错

  • 从全局需求中更新

  • 添加 lower-constraints 任务

  • 从全局需求中更新

  • 修复无效的 json 单元测试

  • 更新 reno 以支持 stable/queens

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

3.1.0

  • 从全局需求中更新

  • 将 doc8 添加到 pep8 环境

  • 使用 doc/requirements.txt

3.0.1

3.0.0

  • 移除从 releasenotes 设置版本/发布

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 移除 timing 中的 StopWatch 类

2.17.0

2.16.0

  • 从全局需求中更新

  • 从全局需求中更新

  • 更新评论中的“indentify”为“identify”

2.15.0

  • 从全局需求中更新

  • 移除 log adapter 中的 blather 方法

  • 移除 executor conductor 中的 timeout 关键字参数

  • 从全局需求中更新

  • 避免在有意关闭时发出日志警告

  • 更新 reno 以支持 stable/pike

  • 从全局需求中更新

2.14.0

  • 从全局需求中更新

  • 根据文档迁移更新文档中的 URL

  • 从全局需求中更新

  • 修复基于进程的执行器任务代理事件

  • 在文档构建中启用 warning-is-error

  • 切换到 oslosphinx 到 openstackdocstheme

  • 将现有的文档重新排列为新的标准布局

  • 从全局需求中更新

2.13.0

  • 从全局需求中更新

  • 修复 Python3 的 html_last_updated_fmt

  • 将 assertRaisesRegexp 替换为 assertRaisesRegex

2.12.0

  • 从全局需求中更新

  • 从全局需求中更新

  • 不允许 redis 作业被同一所有者回收

2.11.0

  • 修复 py35 测试失败

  • 停止使用 oslotest.mockpatch

  • 从全局需求中更新

  • python3.0 已弃用 LOG.warn

2.10.0

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 为使用标准 python 测试做准备

  • 为 git.openstack.org 使用 https 而不是 http

  • 从全局需求中更新

  • 更新 reno 以支持 stable/ocata

  • 更好地保护存储免受外部并发访问

2.9.0

  • 移除对 monotonic 的依赖

  • 将 engine analyzer 重命名为 selector

  • 更新作者和 author-email

  • 从全局需求中更新

  • 从全局需求中更新

  • 添加 Constraints 支持

  • 在 README 上显示团队和仓库徽章

2.8.0

  • 将 uuid.uuid4 替换为 uuidutils.generate_uuid()

  • 从全局需求中更新

  • 移除源文件中的 vim 标头

  • 修复发布说明 gate 作业失败

  • 从全局需求中更新

  • 使用 assertIs(Not)None 来检查 None

  • 修复 tox.ini 中的错别字

  • 修复损坏的链接

  • 替换 retrying 为 tenacity

  • 从全局需求中更新

  • 添加 reno 以进行发布说明管理

  • 从全局需求中更新

2.7.0

  • 更改主页链接

  • 使用 assertIsNone() 代替 assertIs(None, ..)

  • 从全局需求中更新

  • 修复文档中的一个错别字

  • 修复错别字:移除多余的 ‘that’

  • 从全局需求中更新

  • 修复 logging.py 中的一个错别字

  • 使用 oslo.utils 中的 ensure_tree 函数

  • 使 DynamicLoggingListener 的故障格式化程序可配置

  • 从全局需求中更新

  • 某些类未定义 __ne__() 内置函数

2.6.0

2.5.0

  • 从全局需求中更新

  • 添加围绕元数据、忽略计数和历史记录的日志记录

2.4.0

  • 从全局需求中更新

  • 开始添加一个用于贡献有用的任务/流程/更多内容的地点

  • 更改依赖项以使用 flavors

  • 从全局需求中更新

  • 移除 print 和 () 之间的空格

  • 从全局需求中更新

  • 添加 Python 3.5 分类器和 venv

  • 在测试中将 assertEqual(None, *) 替换为 assertIsNone

2.3.0

  • 从全局需求中更新

  • 移除未使用的 LOG

  • 修复:评论中的错别字

  • 从全局需求中更新

  • 修复函数名称和描述中的一些拼写错误

  • 从全局需求中更新

2.2.0

  • 不要使用已弃用的 timeutils.isotime 方法

  • 添加测试以验证 revert 验证中的 kwargs 行为

  • 使测试不依赖于瞬态状态

2.1.0

  • 从全局需求中更新

  • 确保获取作业在处于错误状态时不会获取任何内容

  • 从全局需求中更新

  • 使用完整的 ‘get_execute_failures’ 而不是简短名称

  • 拆分 revert/execute 缺少参数的消息

  • 从全局需求中更新

  • 改用 sockets 通过 asyncore 代替多进程队列

  • 添加一个简单的 sanity 测试,用于输出 pydot

2.0.0

  • 从全局需求中更新

  • 修复与缺少 BaseTask 类相关的文档

  • 移除 2.0 版本中的已弃用内容

  • 始终使用打包的库 mock

1.32.0

  • 尝试在暂停进行时取消活动 future

  • 允许为并行引擎指定 green threaded

  • 使 conductor.stop 优雅地停止正在运行的引擎

1.31.0

  • 从全局需求中更新

  • 如果缺少 git,则不要设置 html_last_updated_fmt

  • 从全局需求中更新

  • 添加了禁止从激活解析的能力

  • 修复 networkx 包更改的 export_to_dot

  • 确保 sqlalchemy 的升级受到锁的保护

  • 添加定期 jobboard 刷新(以防同步问题)

  • 如果 git 不存在,则回退

  • 允许 revert 具有与 execute 不同的参数列表

1.30.0

  • 从全局需求中更新

  • 使用状态机来处理 WBE 请求状态

  • Sqlalchemy-utils 双重条目(已在 test-requirements.txt 中)

1.29.0

  • 从全局需求中更新

  • 重构 Atom/BaseTask/Task/Retry 类层次结构

  • 添加缺少的 sqlalchemy-utils 直接依赖项

1.28.0

  • 添加 WBE worker 过期

  • 一些 WBE 协议/执行器清理

  • 移除对单独通知线程的需求

  • 从全局需求中更新

  • 如果未收到新消息,则不要扫描 worker

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 允许 cachedproperty 避免锁定

  • 美化 WBE banner 并添加简单的 worker __main__ 入口点

1.27.0

  • 从全局需求中更新

  • 修复 WBE 任务的间歇性超时

  • 添加一些基本的/初始引擎统计信息

  • 处理 WBE 中无法序列化为 JSON 的 exc_args 情况

  • 启用 OS_LOG_CAPTURE 以便在发生错误时可以看到日志

  • 如果存在,则检索 flowdetails 中的存储

  • 禁用 oslotest LOG 捕获

  • 从全局需求中更新

  • 从全局需求中更新

  • 使用辅助函数进行原子完成后的工作

  • 确保即使在发送的故障情况下,引擎也能完成

  • 99 bottles 示例跟踪日志未输出

  • 为重试调度器添加有用的/有帮助的注释

  • 从全局需求中更新

  • 从全局需求中更新

  • 替换清除 zookeeper python 为清除 zookeeper bash

  • 移除 stray LOG.blather

1.26.0

  • 一些额外的引擎日志记录

  • 替换已弃用的库函数 os.popen() 为 subprocess

  • 添加注释说明为什么在计数边缘决策者反对者时继续

  • 添加基本和/或未优化的作业优先级

  • 允许对决策者的“影响范围”进行更改

  • 修复 iter_utils.unique_seen 的错误用法

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 使用 retrying 库进行基本的 sqlalchemy 引擎验证

  • 对于 taskflow 模式,不要显示 taskflow.patterns 前缀

  • 将 ‘_emit’ 重命名为 ‘_try_emit’,因为它是一种尽力而为的操作(未保证)

  • 缓存原子名称 -> 操作,并提供访问器函数

  • 引用/标准化原子名称输出

  • 使用共享的实用工具辅助函数提取驱动程序名称 + 配置

  • 修复当前损坏且未激活的 mysql 测试

  • 捕获并暴露任何 ‘args’ 的异常

  • 撤销 “移除失败版本号”

  • 将所有内部 blather 用法/调用迁移到 trace 用法/调用

  • 开始将 BLATHER 重命名为 TRACE

  • 添加作业发布者/作业迭代器等待作业完成的能力

  • 从全局需求中更新

  • 使用 ‘match_type’ 实用工具函数代替 staticmethod

  • 移除失败版本号

  • 如果 register_entity 失败,则将 kazoo 异常转换为作业等效异常

  • 将 misc.ensure_dict 的名称更改为 misc.safe_copy_dict

  • 避免为每次分发迭代重新创建通知详细信息

  • 修复 tooz 的更改导致文档更改

  • 已移除过时的 tox -downloadcache 选项

  • 从全局需求中更新

  • 添加有关重新绑定过程的一些有用评论

  • 使用小型辅助例程获取原子元数据条目

  • 移除 ‘MANIFEST.in’

  • 将运行超时传递到引擎 run()

  • 将引擎 ‘self._check’ 更改为装饰器

1.25.0

  • 将编译单元的验证移出编译器

  • 允许提供的流程为空

  • 将引擎选项提取移动到 __init__ 方法

  • 从全局需求中更新

  • 从全局需求中更新

  • 将执行器代理的引擎选项转换为其正确类型

  • 启用将树节点转换为有向图

  • 在导体引擎选项保存中使用 misc.ensure_dict 辅助函数

  • 添加可选的 ‘defer_reverts’ 行为

  • 从存储到 flowdetail.meta 添加公共属性

  • 添加作业完成的通知点

  • 移除 python 2.6 并清理 tox.ini

  • 正确地跨流程边界应用决策器

  • 将 ‘convert_to_timeout’ 移动到 timing 类型作为辅助函数

  • 使用导体实体类常量代替原始字符串

  • 添加一个由执行器支持的导体,并让现有实现使用它

  • 将流程持续时间添加到 DurationListener

  • 更新实体类型上的文档字符串

  • 将 ‘fill_iter’ 移动到 ‘iter_utils.fill’

1.24.0

  • 从全局需求中更新

  • 从全局需求中更新

  • 在作业板上注册导体信息

  • 添加原子优先级能力

  • 添加失败类型中基本异常类型(s)的验证

  • 修复 unit.test_* 的 assertEqual 顺序

  • 修复 unit.worker_based 的 assertEqual 顺序

  • 修复 unit.persistence 的 assertEqual 顺序

  • 修复 unit.patterns 的 assertEqual 顺序

  • 修复 unit.jobs 的 assertEqual 顺序

  • 修复 unit.action_engine 的 assertEqual 顺序

1.23.0

  • 从全局需求中更新

  • feat: 将 max_dispatches 参数添加到导体的 run

  • 确保节点 ‘remove’ 和 ‘disassociate’ 在冻结时无法调用

  • 添加递归/非递归模式下的内存后端 delete()

  • 在可以的情况下使用批量 ‘get_atoms_states’

  • 使用 automaton 的 converters/pydot

  • 使 WBE 日志记录和 ‘__repr__’ 消息更有用

  • 修复错误的 sphinx 模块引用

  • 重新标记内部引擎 ‘event’ -> ‘outcome’

  • 不需要 Oslo Incubator Sync

  • 使用节点内置的 ‘dfs_iter’ 代替递归

1.22.0

  • 简化流程动作引擎编译

  • 修复 ‘dependened upon’ 拼写错误

  • docs - 设置 pbr warnerrors 选项用于文档构建

  • 将 ‘history’ -> ‘Release notes’

  • 移除不再需要的虚拟/占位符 ‘ChangeLog’

  • 移除 ./taskflow/openstack/common,因为它不再存在

  • 移除 bash 脚本中子 shell 调用中的引号

  • 重构 ‘get_maybe_ready_for’ 方法的公共部分

  • 修复 .gitignore 文件中的 sphinx 构建路径

  • 将 ignore-errors 更改为 ignore_errors

  • 使用图作为模式的基础结构

  • 从全局需求中更新

  • 修复 ‘_cache_get’ 多个关键字参数名称重叠

  • 使用 sqlalchemy-utils json 类型代替我们自己的

1.21.0

  • 从全局需求中更新

  • 修复目录持久性后端未列出日志簿的方式

  • 解释作业架构图仅适用于 zookeeper

1.20.0

  • 从全局需求中更新

  • 为流程添加 iter_nodes 方法

  • 从全局需求中更新

  • 使用 ‘iter_utils.count’ 确定剩余未完成的节点数量

  • 修复流程状态链接

  • 如果未找到 zookeeper,则避免运行此示例

  • 从全局需求中更新

  • 让存储类提供一个 ‘change_flow_state’ 方法

1.19.0

  • 从全局需求中更新

  • 从全局需求中更新

  • 添加精心制作的任务结构图

  • 从全局需求中更新

  • 移除一些不再需要的临时变量

  • 仅移除所有已完成的 ‘next_nodes’

  • 修复损坏的 stevedore 文档链接

  • 扩展和改进失败日志记录

  • 改进图流程中的文档字符串以表示引发的异常

  • 默认情况下启用 testr OS_DEBUG 为 TRACE(blather)

  • 从全局需求中更新

  • 在启用 BLATHER 时显示中间编译

1.18.0

  • 让 GC 在循环方面有更多喘息的机会

  • 决策器的基类

  • 移除额外的运行器层,只需在引擎中使用机器

  • 从全局需求中更新

  • .gitignore 更新

  • 避免在触发失败时将 1 添加到失败计数

  • 用非递归变体替换树 ‘pformat()’ 递归

  • 修复 taskflow 文档中的七个错别字和一个可读性问题

1.17.0

  • 升级 futurist 并移除 taskflow 中的等待代码

  • 使用动作引擎 ‘_check’ 辅助方法

  • 修改监听器以处理现在从 revert() 可能获得的结果

  • 移除不再使用的 ‘_was_failure’ 静态方法

  • 移除遗留的 py2.6 向后兼容的日志记录代码

  • 从全局需求中更新

  • 修复函数之间的空格不足

  • 创建一个串行重试执行器

  • 只需链接到工作器引擎文档,而不是包含内联的 TOC

  • 链接到引擎文档中的 run() 方法

  • 添加通过 `reset` 方法重置引擎的能力

1.16.0

  • 从全局需求中更新

  • 在引擎测试中使用 ‘addCleanup’ 代替 ‘tearDown’

  • 更新 ‘make_client’ kazoo 文档并链接到它们

  • 移除示例中 **大多数** taskflow.utils 的使用

  • 将 doc8 移动到 test-requirements.txt 中的普通测试要求

  • 从全局需求中更新

  • 找到另一个 removal_version=? 应该为 removal_version=2.0

  • 添加已弃用的模块,用于先前的 FSM/table 代码库

  • 用 automaton 库替换内部 fsm + table

  • 移除对 timeutils 重写的直接使用,并使用 fixture

1.15.0

  • 为现在移除的停止观察类提供弃用的别名

  • 将所有 removal_version 从 ? 更新为 2.0

  • 为移动的类型添加弃用和仅别名模块

  • 统一 zookeeper/redis 作业板迭代器

  • 从全局需求中更新

  • 激活时以快速速率运行 ‘99_bottles.py’ 演示

  • 使用 io.open 代替 raw open

  • 保留原子 ‘revert’ 结果(或失败)

  • 更新旧/弃用的日志簿模块的版本

  • 添加 u、v、decider 在图流程链接方法上的文档

  • 修复模拟调用

  • 移除 setup.cfg ‘requires-python’ 不正确的条目

  • 在运行时编译时编译重试/任务原子的列表

  • 集成 futurist(并 **移除** taskflow 起源代码)

  • 允许 ‘99_bottles.py’ 演示在 BLATHER 模式下运行

  • 使当前实现的作业使用 @functools.total_ordering

  • 添加更有用的 `__str__` 到 redis 作业

  • 在 99_bottles.py 示例中显示发布的作业和再见

  • 重命名日志簿模块 -> 模型模块

  • 在单个引擎步骤上发出通知

1.14.0

  • 暴露策略,以便文档生成可以轻松地选择它们

  • 指出邮件主题应为 ‘[Oslo][TaskFlow]’

  • 添加对条件执行的支持

  • 使用 encodeutils 进行异常 -> 字符串函数

  • 从全局需求中更新

  • 构建 + 测试基于 redis 的作业板

0.13.0

  • 仅在 __init__ 时间创建编译器对象

  • 移除不再需要的 kazoo hack/fix

  • 添加 history.rst,它使用生成的 ‘ChangeLog’ 文件

  • 添加运行时对象方法上的文档字符串并链接到文档中的它们

0.12.0

  • 从全局需求中更新

  • 更新状态注释以引用任务部分

  • 从全局需求中更新

  • 移除 2.6 分类器 + 2.6 兼容性代码

  • 移除对 ‘requirements-pyN.txt’ 文件的引用

  • 添加更智能/更好/更快的 ‘ensure_atoms’ 实现

  • 添加存储中的批量 ‘ensure_atoms’ 方法

  • 在 BLATHER 模式下可以查看执行的查询

  • 为引擎组件添加文档警告

  • 执行一些优化以减少持久性交互

  • 更适当地处理导体 ctrl-c

  • 在编译时缓存单个原子调度器

  • 将额外的重试状态从任务状态中分离出来

  • 在执行类型检查后使用 `excutils.raise_with_cause`

  • 从全局需求中更新

  • 使用 monotonic lib. 避免查找 monotonic 时间函数

  • 记录更多重试子类的特殊关键字参数

0.11.0

  • 解决 sqlalchemy 后端的并发修改

  • 添加坚不可摧的 99 瓶啤酒示例

  • 直接使用 alembic 升级函数/命令

  • 从全局需求中更新

  • 移除 build_car 示例中已弃用的 ‘task_notifier’ 属性的使用

  • 将 ‘simple_linear_listening’ 示例添加到生成的文档中

  • 方便访问 INFO 级别

  • 将徽章从 ‘pypip.in’ 切换到 ‘shields.io’

  • 为重试控制器添加 revert_all 选项

  • 进行一些作业板文档调整

  • 使用 sphinx 弃用文档字符串标记

  • 使用类常量作为基于路径的抽象基类的默认路径

  • 从全局需求中更新

  • 移除未测试的示例

  • 使默认文件编码成为带有文档字符串的类常量

  • 使用 lru 缓存来限制内部文件缓存的大小

  • 从全局需求中更新

  • 使用哈希路径查找代替路径查找

  • 移除所有 ‘lock_utils’,因为 fasteners 提供了等效项

  • 添加一个新的 `ls_r` 方法

  • 从全局需求中更新

  • 重构机器构建器 + 运行器为单个单元

  • 用 fasteners 包替换 lock_utils 锁

  • 从全局需求中更新

  • 使用共享的 ‘_check’ 函数来检查引擎阶段

  • 移除一些不再需要的 ‘pass’ 关键字

  • 添加一个检查任务结果可见性的测试

  • 移除使用持久性 sqlalchemy 后端与 ‘mysqldb’ 的测试

  • 移除自定义 pyX.Y tox 要求

  • 从全局需求中更新

  • 允许任务中的 requires 和 provides 具有相同的依赖项

  • 移除不需要的 ‘pass’ 使用

  • 仅在 BLATHER 模式下将状态转换显示到日志记录

  • 修复 sqlalchemy 表的 updated_at 列

  • 移除已从 oslo-incubator 中删除的脚本

  • 确保基于路径的抽象基类包含在文档中

  • 加强关于 logbook/flow detail/atom details 模型的文档

  • 移除不再使用的自定义 py26/py27 tox venvs

  • 执行器通过选项配置传入,而不是关键字参数

  • 使用添加异常回溯的新版本 futures

  • 确保空路径引发 ValueError

  • 移除监听器堆栈并替换为退出堆栈

  • 暴露动作引擎无重新引发状态常量

  • 链接一些先前遗漏的异常引发

  • 暴露内存后端 split staticmethod

  • 从全局需求中更新

  • 移除不再使用的 tox py33 环境

  • 避免创建临时删除列表

0.10.1

  • 避免在克隆/复制时尝试复制任务结果

  • 避免在跟随链接时重新规范化路径

  • 添加一个可以轻松启用的分析上下文管理器

  • 从全局需求中更新

0.10.0

  • 移除状态读取属性访问上的状态验证

  • 使默认路径成为一个常量并调整类文档字符串

  • 避免重复异常消息

  • 添加速度测试工具脚本

  • 通过路径 -> 节点反向映射加速内存后端

  • 从全局需求中更新

  • 修复 taskflow 文档中的一个错别字

  • 小幅重构 ‘merge_uri’ 实用工具函数

  • 修复未识别的 post coverage 作业选项

  • 重构/减少共享的 ‘ensure(task/retry)’ 代码

  • 将实现移动到它们自己的子部分

  • 移除 run_cross_tests.sh

  • 将 zookeeper 作业板常量移动到类级别

  • 保留缺失依赖项的链

  • 暴露假文件系统 ‘join’ 和 ‘normpath’

  • 添加 + 使用解释重试控制器影响范围的图

  • 将 openclipart.org 导体图像添加到导体文档中

  • 使用 oslo_utils eventletutils 警告关于 eventlet 补丁

  • 在参数传递单元测试中测试更多引擎类型

  • 添加一个导体运行示例

  • 替换更多实例的异常链式调用为辅助函数

  • 避免执行器为非 None 时出现属性错误

0.9.0

  • 验证 ‘raise_with_cause’ 中的正确异常子类

  • 移除对 kazoo eventlet 处理程序的链接

  • 添加生成 venv 和使用 pydot2 的状态

  • 添加严格的作业状态转换检查

  • 取消 liberty 的库需求上限

  • 让重置状态处理程序通过共享列表

  • 在文档中添加作业状态 + python 中的状态

  • 暴露只读监听器回调 + 详细信息筛选回调

  • 暴露监听器通知类型 + 文档

  • 确保监听器参数始终是元组/不可变

  • 将 ‘dump_memory_backend’ 示例包含在文档中

  • 使分辨率/重试策略更清晰、更好

  • 将 notifier ‘listeners’ 重命名为 ‘topics’

  • 在 notify 状态转换中提及状态文档的链接

  • 确保我们不会陷入格式循环

  • 添加关于伪文件系统线程安全的说明

  • 使通知/监听器文档与其他部分匹配

  • 将语义保持部分放入注释块中

  • 注意,传统模式也可以避免此截断问题

  • 避免深入探讨非 taskflow 异常的原因

  • 正确使用异常链的功能

  • 添加一个示例,展示如何共享一个执行器

  • 精简书架的描述

  • 删除关于实现作业垃圾回收的链接

  • 使存储层对故障更具弹性

  • 将 examples/misc/considerations 放在一个新的章节下

  • 添加一个暂停引擎章节

0.8.1

  • 切换回 maxdepth 2

  • 允许 ls() 递归列出(使用广度优先)

  • 尝试改进 taskflow 异常打印原因

  • 修复重命名类以正确调用 super()

  • 将 ‘check_who’ 转换为装饰器

  • 使用 ‘node’ 术语代替 ‘item’ 术语

  • 删除 11635 bug 引用

  • 允许向 tree pformat 提供节点字符串化函数

  • 添加内存文件系统清除功能

  • 统一使用单个 requirements.txt 文件

  • 修复一些拼写和语法错误

  • 添加内存后端 get() 支持

  • 使图的 ‘_unsatisfied_requires’ 成为静态方法

  • 为伪内存文件系统添加更多注释

  • 为内存伪文件系统添加一组测试

0.8.0

  • 添加测试以提高 CaptureListener 的覆盖率

  • 优先使用 posixpath 而不是 os.path

  • 默认使用内存后端(如果没有提供后端)

  • 允许使用浅拷贝而不是深拷贝

  • 迁移到更新的 debtcollector 提供的函数

  • 迁移到使用 oslo.utils stop watch

  • 从全局需求中更新

  • 确保持久化目录后端的线程安全

  • 确保在连接之前已正确设置

  • 确保存储属性上的文档字符串

  • 公开正在使用的存储后端

  • 在提取作用域时使用迭代而不是 list(s)

  • 在目录后端中使用二进制/编码解码辅助例程

  • 将内存后端文件系统重命名为伪文件系统

  • 让 future executors 处理最大工作线程数

  • 始终从 `fetch_scopes_for` 返回作用域 walker 实例

  • 给 GC 喘息的机会

  • 在 __str__ 中使用类名而不是 TYPE 属性

  • 直接使用类名而不是 TYPE 常量

  • 确保我们有一个 ‘coverage-package-name’

  • 尝试从异常中提取堆栈跟踪

  • 使用兼容的 map 和 update map/reduce task 文档

  • 使用新的验证阶段更新引擎文档

  • 确保注册和取消注册 conductor 监听器

  • 将属性 ‘_graph’ 重命名为 ‘_execution_graph’

  • 添加一个日志语句,在验证之前转储图信息

  • 使此示例在结果不正确时以非零状态退出

  • 使用 collections.namedtuple 表示请求工作单元

  • 对 wbe 引擎文档进行一些小的调整

  • 添加换行符以避免 sphinx 警告

  • 允许将 ‘many_handler’ 传递给 fetch_all 函数

  • 确保事件时间监听器在监听器文档中

  • 添加一个内存后端转储示例

  • 添加了一个 map 和一个 reduce 任务

  • 重构内存节点的使用

  • 切换到非命名空间模块导入

  • 允许存储单元使用正确的范围策略

  • 直接使用本地配置变量

  • 在炼金术士辅助函数前面加上下划线

  • 延迟加载日志和流程详情

  • 允许后端连接配置(通过 fetch)为字符串

  • 添加 + 使用失败 JSON 模式验证

  • 使用有序 [集合/字典] 来保留顺序

  • 允许注入的原子参数被持久化

  • 将 _listeners_from_job 方法添加到 Conductor 基类

  • 更新 TimingListener 的使用,改为 DurationListener

  • 添加 EventTimeListner 以记录事件发生的时间

  • 添加了 update_flow_metadata 方法到 Storage 类

  • 尽可能保留嵌套的原因

  • 表示 issue 17911 已合并/接受

  • 持久化后端重构

  • 删除对 3.3 的支持

  • Writer 现在可以在 ReaderWriterLock 中声明读取锁

  • 添加另一个概率性的读写锁测试

  • 添加 + 使用读/写锁装饰器

  • 添加无双写线程测试

  • 使用条件上下文管理器代替 acquire/release

  • 删除只读操作的条件获取

  • 在没有提供 functor 时设置一个空操作 functor

  • 确保在读取/设置意图时使用所需的锁

  • 专门化重叠检查

  • 使用链接代替原始块引用

  • 将计时监听器重命名为持续时间监听器

  • 添加一个书架开发者章节

  • 确保线程束以从后到前的顺序停止

  • 添加关于瞬态参数和基于工作者的引擎的警告

  • 确保有序集合是可腌制的

  • 添加节点删除/取消关联函数

  • 添加一个功能齐全的有序集合

  • 使工作者横幅模板成为工作者类的一部分

  • 使用编译辅助对象

  • 允许节点查找不执行深度搜索

  • 添加一个冻结检查装饰器

  • 调整用于查找展平器/存储例程的 functor

  • 添加特定的范围文档

  • 添加 jobboard trash 方法

  • 提供关于无效周期性任务的更多上下文信息

  • 修复查找范围的多匹配排序

  • 在句点后使用一个空格

  • 重构周期性工作者的一部分

  • 使用 oslo.utils encodeutils 进行编码/解码函数

  • 从 nova/heat/others 移植 pretty_tox.sh

  • 调整类型线程安全文档字符串

  • 添加 pypi 链接徽章

  • 将关于进程池执行器的说明切换为警告

  • 在 py3.x 上正确链式异常

  • 从全局需求中更新

  • 删除 WBE 实验文档说明

  • 使用 enum 库枚举重试策略枚举

  • 使用 debtcollector 库替换内部实用程序

  • 为所有后端添加 get_flow_details 和 get_atom_details

  • 对原子文档进行调整

  • 更新 Flow.__str__

  • 添加 kombu pull request 的待办事项注释

  • 将 ‘provides’ 和 ‘name’ 移动到实例属性

  • 允许通过 entrypoints 加载 conductor

0.7.1

  • 撤销“添加检索 zookeeper 服务器版本的重试”

  • 允许关闭版本检查

  • 在 requires 中添加对 str/unicode 类型的检查

  • 使调度器处理程序成为实际类型

  • 添加重试以检索 zookeeper 服务器版本

  • 删除重复的 ‘the’ 并链接到工作引擎部分

  • 删除延迟装饰器并替换为更漂亮的方法

  • 修复日志语句

  • 使原子类成为抽象类

  • 改进 multilock 类及其相关的单元测试

  • 使用版本标记 conductor ‘stop’ 方法的弃用 kwarg

  • 迁移到 hacking 0.10

  • 在消费或放弃时捕获 NotFound 错误

  • 使用新的表长度常量

  • 改进/调整/移动新的可选示例

  • 澄清与输入相关的文档

  • 文档字符串应记录参数返回值

  • 让 multi-lock 将提供的值转换为元组

  • 映射可选参数以及必需参数

  • 添加一个 BFS 树迭代器

  • 在未从提供的节点开始时,以正确的顺序执行 DFS

  • 重构 sqlalchemy 后端

  • 修改 stop 并添加 wait on conductor 以防止死锁

  • 默认使用线程安全的存储单元

  • 在 sqlalchemy 后端大小限制文档中添加警告

  • 从全局需求中更新

  • 使用不容易被回收的线程标识符

  • 使用通知器代替直接属性赋值

  • 调整 WBE 图 (并将其呈现为 svg)

  • 删除重复代码

  • 改进 Taskflow 的图

  • 将 env_builder.sh 升级到 2.7.9

  • 添加一个捕获监听器(用于测试或其他用途)

  • 添加一个静态方法来获取直接的可调用对象

  • 直接访问回调属性

  • 在 pformatting 树节点时使用类常量

0.7.0

  • 将工作者查找从 WBE 引擎中抽象出来

  • 添加并使用一个更漂亮的 kombu 消息格式化器

  • 删除类型文档中重复的 ‘do’

  • 使用类定义的常量而不是原始字符串

  • 使用 kombu socket.timeout 别名而不是 socket.timeout

  • 清理/调整 Stopwatch 的使用

  • 添加关于公开可消费类型的说明

  • 添加文档字符串到 wbe 代理以表示不供公开使用

  • 在可用时使用单调时间

  • 从全局需求中更新

  • 更好地链接 WBE 文档(尤其是关于参数的部分)

  • 在 publish() 上未提供路由键时发出警告

  • 居中 SVG 状态图

  • 使用 importutils.try_import 进行可选的 eventlet 导入

  • 缩小 WBE 请求转换 SVG 图像大小

  • 添加一个线程束辅助工具 + 测试

  • 使所有/大多数类型错误的用法遵循相似的模式

  • 从 WBE 开发者文档中排除用例

  • 允许仅指定 ‘workers’ 作为 WBE 入口点

  • 添加对 runner 状态机反应函数的注释

  • 修复覆盖率环境

  • 使用显式的 WBE 工作者对象参数(而不是 kwargs)

  • WBE 文档调整/调整

  • 添加 WBE 请求状态图 + 说明

  • 整理 WBE 缓存(现在是 WBE 类型)模块

  • 修复剩余的 ‘oslo.utils’ 使用

  • 显示失败被丢弃(以及未来的意图)

  • 在回退到模块之前使用类提供的记录器

  • 使用显式的 WBE 对象参数(而不是 kwargs)

  • 修复持久化文档继承层次结构

  • 收集到的运行时用于失败/而不是失败

  • 添加关于并行引擎的澄清

  • 提高 WBE 生产者/消费者的鲁棒性

  • 将实现移动到各自的部分

  • 将 jobboard/job 基类移动到 jobboard/base 模块

  • 让任务执行器关闭/重启其执行器

  • 在重试操作中镜像任务执行器的方法

  • 添加一个 ‘eventlet_utils’ 辅助工具模块

  • 使用常量表示 runner 状态机事件名称

  • 删除 ‘SaveOrderTask’ 并将测试状态放在类变量中

  • 为 stopwatch 提供了最大值

  • 修复未使用的和冲突的变量

  • 切换到使用 ‘oslo_serialization’ 而不是 ‘oslo.serialization’

  • 切换到使用 ‘oslo_utils’ 而不是 ‘oslo.utils’

  • 添加执行器统计信息

  • 使用 oslo.utils 反射获取类名

  • 为 stopwatch 添加分割时间捕获

  • 使用平台中立的行分隔符

  • 创建并使用一个 multiprocessing 同步管理器子类

  • 使用单个发送者

  • 从全局需求中更新

  • 在所有提供的监听器中包含 ‘old_state’

  • 更新 README.rst 以提供准确的依赖项

  • 包含实用程序模块的文档

  • 任务流记录器模块不提供记录适配器

  • 在状态改变时发送先前的原子状态

  • 在示例中传递字符串作为执行器而不是执行器

  • 从全局需求中更新

  • 修复作业消耗示例使用错误对象

0.6.1

  • 删除继承/调整 netutils split 的需要

  • 允许指定引擎 ‘executor’ 作为字符串

  • 禁止在工作者运行时启动执行器

  • 使用单个共享队列作为执行器的生命周期

  • 避免为树类型创建临时列表

  • 更新关于 stopwatch 线程安全的声明

  • 在克隆进程中与 ‘ANY’ 注册

  • 为引擎状态添加边缘标签

  • 删除不太有用的 action_engine __str__

  • 确保管理器已启动/关闭/加入并重置

  • 返回 future 模块返回的相同 namedtuple

  • 添加一个简单的 hello world 示例

  • 使事件/通知发送正常工作

  • 将引擎范围测试移动到其引擎测试文件夹

  • 让基本过程执行器正常工作

  • 将持久化基类移动到父目录

  • 正确触发启动/初始状态的 ‘on_exit’

0.6.0

  • 添加一个示例,展示如何从任务中发送事件

  • 迁移到使用 oslo.utils [reflection, uuidutils]

  • 重构内存后端

  • 从全局需求中更新

  • 添加一个基本的 map/reduce 示例,展示如何操作

  • 添加一个并行表突变示例

  • 添加一个 ‘can_be_registered’ 方法,在通知之前进行检查

  • 基任务执行器应提供 ‘wait_for_any’

  • 用一个 notifier 模块辅助函数替换 autobind

  • 清理一些文档警告/错误/损坏的链接

  • 在任务类/模块中直接使用 notifier 类型

  • 使用一个微小的 clamp 辅助函数来 clamp ‘on_progress’ 值

  • 保留 ‘EngineBase’ 的存在,直到 0.7 或更高版本

  • 删除内部任务执行器的 base 后缀

  • 删除监听器 base 后缀的使用

  • 添加一个 moved_inheritable_class 弃用辅助函数

  • 避免在扫描现有作业时持有锁

  • 删除引擎抽象基类的 base 后缀

  • 避免在另一个实体迭代时弹出

  • 从全局需求中更新

  • 使用显式 ‘attr_dict’ 在提供者->消费者边缘

  • 正确处理并跳过空的中间流程

  • 确保消息得到正确处理

  • 直接分配一个空集合而不是复制/清除

  • 删除 task clone() 文档中的 rtype

  • 添加并使用一个新的简单的辅助记录模块

  • 使 sphinx 版权日期动态

  • 将适当的链接添加到 README.rst

  • 使用 ‘with’ 条件变量

  • 使用适当的 ``extract_traceback`` 限制

  • 允许所有弃用辅助函数接受 stacklevel

  • 正确识别 ``_extract_engine`` 中的堆栈级别

  • 停止从 execute/revert 方法返回原子

  • 允许任务提供 copy() 方法

  • 允许 stopwatch 被重启

  • 确保失败可以被腌制

  • 重构任务回调功能

  • 仅使用 4 个空格进行分类缩进

  • 将原子操作处理程序移动到自己的子文件夹/子模块

  • 工作流文档现在位于 infra-manual 中

  • 确保冻结属性在 fsm 克隆/副本中设置

  • 修复连接字符串中 “+” 的分割,该字符串指定方言

  • 更新监听器以确保它们正确处理所有原子

  • 允许 notifier 提供一个 ‘details_filter’

  • 明确 publish 关键字参数

  • 一些包添加和对 env_builder.sh 的调整

  • 缓存不可变的可见范围在运行时组件中

  • 引发值错误而不是断言

  • 添加一个声明监听器,将作业声明连接到引擎

  • 将调度器拆分为子调度器

  • 使用模块级别常量提供 DEFAULT_LISTEN_FOR

  • 将 _pformat() 方法移动到类方法

  • 添加链接到 issue 17911

  • 避免深度复制异常值

  • 包含实用程序模块的文档

  • 使用元类动态地将测试用例添加到示例运行器

  • 删除默认设置 ‘mysql_traditional_mode’

  • 将调度器和完成器类移动到各自的模块

  • 确保 zookeeper 后端创建缺失的原子

  • 使用弃用实用程序模块而不是警告

  • 调整 setup.cfg

  • 添加 jobboard 高级架构图

  • 将 ‘task_notifier’ 标记为重命名为 ‘atom_notifier’

  • 撤销 wrapt 的使用,直到进一步通知

  • 从全局需求中更新

  • 添加一个历史重试对象,使重试历史更容易使用

  • 通过静态方法处理格式失败

  • 创建守护线程时使用捆绑的 threading_utils

  • 确保失败类型只包含不可变项

  • 将 ‘task_notifier’ 标记为重命名为 ‘atom_notifier’

  • 使用 wrapt 提供已弃用的类代理

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 减少 worker-engine 联合测试时间

  • 在需求中链接 bug,以便人们理解为什么列出了 pbr

  • 从全局需求中更新

  • 在缓存类型中使用标准线程锁

  • 处理 ‘_exc_type_names’ 为空的情况

  • 为安装 requirements 添加 pbr

  • 从全局需求中更新

  • 移除对已弃用失败位置的直接使用

  • 修复示例 ‘default_provides’

  • 为自动重试提供的 kwargs 使用常量

  • 移除对已弃用 notifier 位置的直接使用

  • 移除 attrdict,仅使用现有类型

  • 使用找到可用的实现的 mock

  • 添加一种可以统一我们的 future 功能的 futures 类型

  • 增加弃用版本号

  • 使用并验证事件和 latch wait() 返回值使用超时

  • 弃用 `engine_conf` 并优先使用 `engine`

  • 为链接元数据键使用常量

  • 为 py26 增加 sqlalchemy 版本

  • 将 notifier 移至其自身的模块

  • 将失败移至其自身的类型特定模块

  • 为自动重试提供的 kwargs 使用常量

  • 改进一些任务文档字符串

  • 我们现在可以在 py3.x 测试中使用 PyMySQL

  • 从全局需求中更新

  • 将数据库模式添加到 sqlalchemy 文档中

  • 将消息从处理程序连接超时更改为操作超时

  • 切换到自定义 NotImplementedError 派生类

  • 允许将 worker banner 写入任意位置

  • 更新引擎类名以更好地反映其用法

0.5.0

  • 避免在本地函数中使用 six.moves

  • 重构 job lock/job condition zookeeper 用法

  • 使其适用于旧版本的 kombu

  • 重做状态文档

  • 从全局需求中更新

  • 添加更动态/有用的日志监听器

  • 使用 timeutils 函数代替 misc.wallclock

  • 仅从存储中公开 `ensure_atom`

  • 调整 docs+venv tox 环境的要求/依赖项

  • 提高 WBE 消息和请求处理的鲁棒性

  • 调整 WBE 日志级别

  • 使用 oslo.test mock 基类提供的功能

  • 使用 oslo.test 提供我们的基测试用例类

  • Jobboard 示例,展示 jobs + workers + producers

  • 调整 on_job_posting 以不在调查时持有锁

  • 引入更新的 eventlet (可选)

  • 将一些自定义需求从 tox.ini 中移出

  • 记录更多函数/类/方法的参数

  • 停止使用 intersphinx

  • 将 toctree 扩展到三层

  • 文档清理和调整

  • 修复多锁并发问题,当多个线程共享时

  • 增加/调整 WBE 响应/发送活动的日志记录

  • 根据其含义对某些状态进行着色

  • 切换到使用 oslo.utils 和 oslo.serialization

  • 错别字“searchs”

  • 更新 requirements-py2.txt 文件

  • 移除不再需要的 r/w 锁接口基类

  • 从全局需求中更新

  • 更好地处理 tree freeze 方法

  • 确保状态机可以被冻结

  • 将一些类链接到 Python 中实现的特性/bug

  • 添加一个计时监听器,也打印结果

  • 移除无用的 __exit__ 返回值

  • 示例,展示如何将值从一个任务移动到另一个任务

  • 提及多个线程和减少 worker 的问题

  • 添加一个 Mandelbrot 并行计算 WBE 示例

  • 将现有类型添加到生成的文档中

  • 移除对 prettytable 的依赖

  • 致力于 Python 3.4 支持和测试

  • 添加一个状态机 copy() 方法

  • 更新状态图构建器以使用状态机类型

  • 添加一个 docs 虚拟环境

  • 减少未使用的 tox 环境

0.4.0

  • 添加几个作用域遮蔽测试用例

  • 放宽图形流符号约束

  • 放宽无序流符号约束

  • 放宽线性流符号约束

  • 重构符号查找机制

  • 更智能地处理所需的流符号

  • 更新 oslo-incubator 到 32e7f0b56f52742754

  • 将引擎运行器转换为定义良好的状态机

  • 当混合 green/non-green futures 时引发运行时错误

  • 确保 cachedproperty 创建/设置是线程安全的

  • 警告不要对需求进行排序

  • 从全局需求中更新

  • 更新转换函数名称以使其更易于理解

  • 将 action engine 测试的一部分移动到子目录

  • 调整引擎迭代“关闭”运行时路径

  • 使用显式的 WBE 请求状态转换

  • 如果 WBE 消息无法放入 ack 状态,则拒绝它们

  • 使 version.py 处理 pbr 未安装的情况

  • 清理 WBE 示例,使其更易于理解

  • 在适当的地方使用 __qualname__

  • 从全局需求中更新

  • 从全局需求中更新

  • 使 WBE worker banner 信息更有意义

  • 使 dispatch_job 函数返回一个 future

  • 扩展关于失败和包装失败类型的文档

  • 允许在未提供 executor 时指定 worker 数量

  • 移除 sphinx 示例 emphasize-lines

  • 将需求拆分为 py2 和 py3 文件

  • 更新 oslo-incubator 到 037dee004c3e2239

  • 移除数据库锁,并在测试中使用随机数据库名称

  • 允许 WBE 请求转换超时动态化

  • 避免将时间类型模块命名为与内置模块相同

  • LOG 记录 requeue 过滤器回调失败

  • 添加一个 pformat() 失败方法并在 conductor 中使用它

  • 为任务添加 pre/post 执行/重试回调

  • 在 consume() 和 abandon() 周围使用 checked_commit()

  • 在声明作业时使用 check + create 事务

  • 提高 WBE 测试覆盖率

  • 添加基本的 WBE 验证健全性测试

  • WBE 请求消息验证

  • WBE 响应消息验证

  • WBE 通知消息验证

  • 允许处理程序提供验证回调

  • 使用通用的消息调度器

  • 在提交 kazoo 事务时使用 checked commit

  • 在 tox.ini 模板中启用 hacking 检查 H305 和 H307

  • 修复 doctests 中的未排序字典和集合

  • README.rst:避免使用非 ASCII 字符

  • 从全局需求中更新

  • 添加一个可以用于构建测试环境的示例脚本

  • 启用了 hacking 检查 H305 和 H307

  • 将 hacking 升级到版本 0.9.2

  • 允许默认情况下 jobs posted book 为 None

  • 清理一些示例代码和文档

  • 使 greenexecutor 不保持 greenthreads 处于活动状态

  • 添加架构/大图 omnigraffle 图

  • 移除 pbr 作为运行时依赖项

  • 使用 `state_graph.py` 作为所有状态图

  • 使示例文档更相关

  • 引发 NotImplementedError 而不是 NotImplemented

  • 将 stopwatch 测试移动到 test_types

  • 移除在 parse_uri 中进行特殊异常捕获的需要

  • 更新 oslo incubator 代码到 commit 0b02fc0f36814968

  • 修复 CONTRIBUTING.rst 中的章节名称

  • 添加一个 conductor 考虑因素部分

  • 使 expiring cache 成为顶级缓存类型

  • 使用存储中的 `flow_uuid` 和 `flow_name`

  • 修复 zookeeper 中留下的痕迹

  • 澄清 locked 装饰器是用于实例方法

  • 从 ensure 存储方法中提取状态更改

  • 创建一个顶级时间类型

  • 简化任务和重试的身份转换处理

  • 移除 check_doc.py 并使用 doc8

  • 移除为 pre-six 1.7.0 创建的函数

  • 添加一个树类型

  • 使 intentions 成为一个元组(表示不可变性)

  • 从全局需求中更新

  • 添加伪作用域的示例

  • 修复 E265 hacking 警告

  • 修复文档中应说明 fetch() 用法的错误

  • 调整 sphinx 要求

  • 升级 hacking 版本并修复一些问题

  • 说明其他项目可以使用此库

  • 移除 misc.as_bool,因为 oslo 提供了一个等效项

  • 更新 zake 到 requirements 版本

0.3.21

  • 将 additional 重命名为 general/higher-level

  • 同步我们的进程间锁版本

  • 提高重试组件编译错误的可用性

  • 切换到重构文本 README 文件

  • 创建一个考虑因素部分

  • 在内部错误中包含函数名称

  • 添加默认事务隔离级别

  • 允许 mysql 模式不仅仅是 TRADITIONAL

  • 使 runner 成为运行时提供的属性

  • 将 inject_task_args 重命名为 inject_atom_args

  • 将 graph analyzer 重命名为 analyzer

  • 提供编译对象而不是其一部分

  • 确保 cachedproperty 描述符获取文档字符串

0.3

  • 警告内部 helper/utility 的使用

  • 将名称从 task 更改为 atom

  • 反转 conductor stop() 返回的结果

  • 将 flattening 移动到 action engine 编译器

  • 提高调度日志的可用性

  • 避免强制 engine_conf 成为字典

  • 允许以两种方式在 conductor 中找到 flow detail

  • 添加与新 conductor 功能相关的文档

  • 添加描述 inject 实例变量的文档字符串

  • 完成 graph_action 模块的拆分

  • 从全局需求中更新 sphinx pin

  • 修复文档字符串列表格式

  • 允许传递缩进文本

  • 将 on_failure 提取到一个 mixin 类型

  • 使用名称属性 setter 而不是 set_name 方法

  • 添加一个单线程 flow conductor

  • 添加在任务创建时将参数注入到任务中的能力

  • 从 oslo-incubator 同步 jsonutils

  • 移除措辞问题(track 在这里没有意义)

  • 修复文档中 taskflow 的大小写

  • 将作业外部 wiki 链接放在一个注释部分

  • 重做 atom 文档

  • 添加示例的文档链接

  • 重做通知机制的概述

  • 标准化相同的首字母大写模式

  • 重新生成引擎状态序列图

  • 添加引擎状态序列图的来源

  • 为 fake lock 添加一个 check_pending 参数

  • 添加一个使用 run_iter 函数的 for 循环示例

  • 修复错误字符串插值

  • 将 t_storage 重命名为 atom_storage

  • 创建一个新的编译模块

  • 添加引擎状态图

  • 添加 misc.cachedproperty 描述符的测试

  • 完成 cachedproperty 描述符协议

  • 如果无法获取 LogBook,则不要创建 fake LogBook

  • 尽可能使用 futures wait()

  • 在 flush 函数中使用 /taskflow/flush-test

  • 添加一个重置节点函数

  • 将 impl_memory conf 默认为 None

  • 修复拼写错误

  • 添加一个清除 zookeeper 测试目录的辅助工具

  • 添加一个 zookeeper jobboard 集成测试

  • 清理 zookeeper 集成测试

  • 使用更稳定的 flush 方法

  • 移除 _clear 方法,不要重置 job_watcher

  • 允许配置命令和连接重试

  • 检查文档以获取简单的样式要求

  • 添加一个使用 run iteration 功能的示例

  • 实现 run iterations

  • 将 provides 和 requires 代码放到基本的 Flow 中

  • 允许 watcher 在会话丢失时重新注册

  • 添加一个等待作业到达的新方法 wait()

  • 添加一个 cachedproperty 描述符

  • 添加一个 jobboard 功能示例

  • 引擎 _cls 后缀不正确

  • 通过 kwargs 传递 executor 而不是 config

  • 允许 WBE 使用预先存在的 executor

  • 调整对象层次结构图

  • 调整文档链接

  • 关于引擎的中级文档

  • 添加关于基于 worker 的引擎 (WBE) 的文档

  • 从全局需求中更新

  • 从生成器更改为 iterjobs 的迭代器

  • 添加一个 jobboard 获取上下文管理器

  • 包装加载失败到 not found 异常中

  • 更新 jobboard 文档

  • 从 oslo-incubator 同步 jsonutils

  • 移除持久性 wiki 页面链接

  • 使用定义的参数和提供的 kwargs 加载引擎

  • 集成 urlparse 用于配置增强

  • 修复“occured” -> “occurred”

  • 文档调整

  • 修复拼写错误

  • 添加一个恢复策略文档

  • test_examples runner 的文档和清理

  • 跳过加载(和加载失败)锁文件

  • 添加一个持久性后端获取上下文管理器

  • 添加一个在结果准备好时激活 future 的示例

  • 修复文档拼写错误

  • 添加一个作业考虑因素文档

  • 为作业添加 last_modified 和 created_on 属性

  • 允许 jobboard 事件通知

  • 使用序列化发布作业

  • 添加一个有向图类型(新的类型模块)

  • 添加持久性文档 + 调整

  • 从全局需求中更新

  • Stings -> Strings

  • 提高容错能力

  • 确保示例在失败时放弃作业

  • 添加关于作业和 jobboards 的文档

  • 通过 kwargs 获取持久性后端而不是 config

  • 允许获取 jobboard 实现

  • 重用已经定义的变量

  • 更多关键字和分类器主题

  • 允许将瞬态值存储在存储中

  • 文档调整

  • 将守护线程辅助函数移动

  • 创建一个周期性 worker 辅助类

  • 修复在迭代时引发 not found

  • 只允许迭代最“新鲜”的作业

  • 从全局需求中更新

  • 更新 oslo-incubator 到 46f2b697b6aacc67

  • 从 incubator 导入 run_cross_tests.sh

  • worker 队列线程中的异常

  • 避免在通知时持有状态锁

0.2

  • 允许 atoms 保存它们自己的状态/结果

  • 在计时监听器中使用正确的异常

  • 添加一个引擎准备阶段

  • 减少不必要的日志记录

  • 更好地处理重试、上次结果/上次失败

  • 改进引擎的文档

  • 调整工作器执行器

  • 撤销“将 taskflow.utils.misc.Failure 移动到自己的模块”

  • 将 taskflow.utils.misc.Failure 移动到自己的模块

  • 在编译之前将 execution_graph 保持为 None

  • 将状态链接移动到开发者文档

  • 如果请求调度意图未知的 atom,则引发错误

  • 移除未使用的 TIMED_OUT 状态

  • 重构通知的文档

  • 撤销时重试失败的测试

  • 使用无效状态调度任务时发生异常

  • 修复基于工作器的执行器结果处理中的竞争条件

  • 将 logbook/flowdetail/atomdetail meta 设置为空字典

  • 将“输入和输出”移动到开发者文档

  • 测试:更快地发现缺少 zookeeper

  • 修复拼写错误

  • 应大于或等于零,且不大于

  • 持久化清理第一部分

  • 更快地运行基于工作器的引擎测试

  • SQLAlchemy 依赖项排序

  • 为 WaitForOneFromTask 添加超时

  • 使用相同的代码来重置流程及其部分

  • 优化展平过程中的依赖关系链接

  • 调整异常层次结构

  • 文档:在参数和结果页面上链接到方法

  • 为 Atom 添加 __repr__ 方法

  • 展平改进

  • 测试:修复 WaitForOneFromTask 构造函数参数内省

  • 重构图流单元测试

  • 重写序列中相同元素的断言

  • 无序流的单元测试

  • 线性流:标记链接并重构单元测试

  • 从线性流中删除索引运算符

  • 删除过时的 test_unordered_flow

  • 流接口中链接的迭代

  • 添加可以中断的超时对象

  • 避免关闭通过的执行器

  • 添加更多关于重试恢复的测试

  • 改进代理发布的日志记录

  • 小的文档修复

  • 改进代理发布方法

  • 将重试添加到开发者文档

  • 将流程状态移动到开发者文档

  • 移除多余的 vim 配置注释

  • 使 schedule 成为 GraphAction 的适当方法

  • 简化图分析器接口

  • 使用内存和 sqlite 后端测试存储

  • 修复一些小的拼写错误

  • 修复执行器请求发布错误

  • 具有重试控制器的流程智能撤销

  • 为任务和重试添加 atom 意图

  • [WBE] 从工作器收集信息

  • 为 pypy 添加 tox 环境

  • 文档:将继承图添加到异常文档

  • 调整日志级别和用法以符合标准

  • 引入 WBE 协议的消息类型

  • 添加重试操作以执行重试

  • 扩展 logbook 和存储以与重试一起工作

  • 将重试添加到执行图

  • 将重试添加到流程模式

  • 添加重试的基类

  • 更新 request `expired` 属性文档字符串

  • 文档:添加描述 atom 参数和结果的页面

  • 文档:改进 BaseTask 方法文档字符串

  • 移除多余的引号符号

  • 文档:相对链接改进

  • 文档:在排序模块索引时忽略“taskflow.” 前缀

  • 更新注释 + six.text_type 代替 str 用于名称

  • 避免在持有锁时调用回调

  • 将远程任务重命名为请求

  • 重构代理发布功能

  • 从全局需求中更新

  • 使用 message.requeue 代替 message.reject

  • 锁测试调整

  • 将端点子类查找移动到反射工具

  • 更正持久化工具中的 LOG.warning

  • 引入基于工作器的执行器的远程任务缓存

  • 基于工作器的引擎清理

  • 一些工作器-引擎清理

  • 在释放锁之前添加延迟

  • 允许连接字符串只是后端名称

  • 移除 openstack.common.py3kcompat

  • 清理 reflection.py 中的一些注释

  • 修复 try_clean 未获取 job_path

  • 从全局需求中更新

  • 将 uuid 重命名为 topic

  • 修复 threads_count 用法和日志记录

  • 使用停止计时工具代替自定义计时

  • 统一存储错误异常类型的用法

  • 添加 zookeeper 作业/作业板实现

  • 从全局需求中更新

  • 移除空文件的版权声明

  • 移除多余的 vim 配置注释

  • 在 sqlalchemy 后端中使用 six.text_type() 代替 str()

  • 修复 dummy lock 缺少 pending_writers 方法

  • 将一些常见的/要共享的 kazoo 工具移动到 kazoo_utils

  • 切换到使用类型检查 decode_json

  • 修复一些拼写和语法错误

  • 修复拼写错误

  • 使用基于工作器的引擎运行 action-engine 测试

  • 基于 kombu 的消息导向的基于工作器的流程

  • 检查 atom 不提供和返回相同的值

  • 修复 pylint tox 环境的命令

  • 移除 tox 模板中的区域设置覆盖

  • 将测试和可选依赖项减少到全局依赖项

  • 重构 sphinx 文档

  • 移除多余的 vim 配置注释

  • 与全局依赖项同步

  • 在状态检查时,不要进行集合差异,而直接进行分区

  • 将 ZooKeeper 后端添加到示例

  • 存储保护较低级别的后端免受线程安全影响

  • 移除 tox 区域设置覆盖

  • 更新 .gitreview 后的仓库重命名

  • 小的存储测试清理

  • 支持构建 wheels (PEP-427)

0.1.3

  • 添加 validate() 基方法

  • 修复等待 pending_writers 为空时的死锁

  • 将 self._zk 重命名为 self._client

  • 在 test_suspend_flow 中使用 listener 代替 AutoSuspendTask

  • 在 test_suspend_flow 中使用测试工具

  • 在存储中使用读写锁

  • 允许使用传入的 sqlalchemy 引擎

  • 在异常/失败中小心处理非 ASCII 数据

  • 如果 localhost 具有兼容的 zookeeper 服务器,则运行 zookeeper 测试

  • 添加 optional-requirements.txt

  • 将 kazoo 移动到 testenv 依赖项

  • 取消固定 testtools 版本并升级 subunit 到 >=0.0.18

  • 移除 utils.misc.Failure 中的 str() 用法

  • 在导入/检测/设置错误时更加健壮

  • 一些 zookeeper 持久化改进/调整

  • 为 dir 和 memory 后端添加 validate 方法

  • 更新 oslo 复制到 oslo 提交 39e1c5c5f39204

  • 更新 oslo.lock 从 incubator 提交 3c125e66d183

  • 重构任务/流程展平

  • 引擎测试重构

  • 测试:不要将“values”传递给任务构造函数

  • 测试通过入口点获取后端

  • 将 testtools 固定到 0.9.34 在测试要求中

  • 确保将新的 zookeeper 后端注册为入口点

  • 将 ZooKeeper 实现为持久化存储后端

  • 在 test_sql_persistence 中使用 addCleanup 代替 tearDown

  • 保留所有辅助程序的相同 API

  • 更新 execute/revert 注释

  • 添加更多关于 Task 和 FunctorTask 的单元测试

  • 文档字符串和注释清理

  • List examples 函数不接受参数

  • 测试:Persistence 测试混合修复

  • 如果可用,使用 mysql + postgres 进行测试

  • 清理和改进 async-utils 测试

  • 使用已经定义的 PENDING 变量

  • 添加用于处理二进制数据的工具

  • 清理引擎基类

  • 引擎清理

  • 更新 atom 注释

  • 将完整的需求集放在 py26、py27 和 py33 环境中

  • 为所有流程单元添加基类 Atom

  • 添加更多需求以覆盖 tox 环境

  • 将 SQLAlchemy 需求放在单行上

  • 从 check_task_transition 引发适当的异常

  • 修复持久化工具中的函数名称拼写错误

  • 在所有测试中使用相同的方式进行 isinstance 断言

  • test_examples 中的小清理

  • 添加从异常创建 Failure 的可能性

  • 异常清理

  • 更改 is_locked() 辅助函数的注释

  • 为 taskflow 添加 setup.cfg 关键字以进行描述

  • 使用发布的 toxgen 工具代替我们自己的副本

0.1.2

  • 将 autobinding 移动到任务基类

  • 断言 functor 任务 revert/execute 是可调用的

  • 使用 six 回调检查器

  • 添加用于不同 sqlalchemy 版本的环境

  • 重构任务处理程序绑定

  • 将 six 移动到正确的位置

  • 使用常量表示执行事件字符串

  • 将 htmlcov 文件夹添加到 .gitignore

  • 减少 task_action 的可见性

  • 将 LogBook 的内部数据存储从列表更改为字典

  • taskflow/examples 中的一些小修复

  • 添加 connection_proxy 参数

  • 忽略文档构建文件

  • 修复拼写错误

  • 切换到仅使用 tox

  • 启用 flake8 的 H202 警告

  • 检查任务不应提供相同的值

  • 允许 max_backoff 并使用 count 代替 attempts

  • 跳过不变性检查和添加,如果未提供任何内容

  • 避免 not_done 命名冲突

  • 添加更严格的后端配置检查

  • 引发类型错误而不是将其静默

  • 将容器获取器函数移动到 utils

  • 显式列出 RESUMING 状态的有效转换

  • 将图属性命名为与引擎中相同

  • 在 try 块之外绑定

  • 图操作重构

  • 为 async_utils 添加 make_completed_future

  • 更新 oslo-incubator 复制到 oslo-incubator 提交 8b2b0b743

  • 确保启用 mysql 传统模式

  • 将 async utils 移动到自己的文件

  • 从 opentack/requirements 更新需求

  • eventlet_utils.wait_fo_any 的代码清理

  • 重构引擎内部

  • 为 eventlet utils 添加 wait_for_any 方法

  • 引入 TaskExecutor

  • 如果可用,使用 eventlet 运行一些引擎测试

  • 不要为每个任务创建 TaskAction

  • 存储:在接口中使用名称而不是 UUID

  • 添加元数据更新的测试

  • 修复 sqlalchemy 0.8 问题

  • 修复小的 python3 不兼容性

  • 加速 FlowDetail.find

  • 修复拼写错误

  • 尝试运行空流程时引发异常

  • 在 set_task_progress 中使用 update_task_metadata

  • 捕获任务持续时间

  • 修复回调比较的另一个实例

  • 不要忘记返回 self

  • 修复实例方法未被取消注册的方式

  • 有针对性的图流模式

  • 所有类都应显式继承 object 类

  • 初始提交 sphinx 相关文件

  • 改进 is_valid_attribute_name 实用函数

  • 代码覆盖率计算改进

  • 修复 python 3.3 不兼容性

0.1.1

  • 将流程失败传递给任务的 revert 方法

  • 存储:添加获取所有流程失败的方法

  • 缺少 pbr 需求

  • 更新代码以符合 hacking 0.8.0

  • 在撤销时不要将任务重置为 PENDING 状态

  • 让 pbr 自动确定版本

  • 在将结果传递给 revert() 时更加小心

0.1

  • 支持可选的任务参数

  • 不要擦除任务进度详细信息

  • 存储:在恢复时恢复注入的数据

  • 继承 greenpool 的默认大小

  • 添加调试日志记录以显示展平的内容

  • 移除不正确的注释

  • 单元测试重构

  • 使用 oslo 中的 py3kcompat.urlutils 代替 six.urllib_parse

  • 更新 oslo 并引入 py3kcompat

  • 支持 state_graph 工具中的多种输出格式

  • 移除任务操作状态检查

  • 包装异常文档/介绍注释更新

  • 文档/介绍更新 simple_linear_listening

  • 为 simple_linear 示例添加文档介绍

  • 更新 reverting_linear 示例的介绍/注释

  • 添加文档解释 resume_volume_create 的工作原理

  • 一些从后端恢复的注释调整

  • 添加一个介绍来解释 resume_many 示例

  • 增加持久化示例注释

  • 增强图流示例注释

  • 也允许“_”作为有效的标识符

  • 从 taskflow.flow.Flow 中移除 uuid

  • 一些额外的示例 boot_vm 注释 + 调整

  • 添加一个恢复启动 vm 的示例

  • 添加任务状态验证

  • 增强存储注释

  • 移除未使用的工具

  • 用于在元数据中保存流程工厂的辅助程序

  • 存储:添加流程名称和 uuid 属性

  • 如果未提供,则为 create_flow_details 创建 logbook

  • 准备 0.1 版本发布

  • 指数退避的注释添加

  • 增强 action engine 注释

  • 模式注释添加/调整

  • 添加更多解释示例和用法的注释

  • 使用相同的连接保存

  • 添加一个用于格式化持久化 logbook 的实用函数

  • 将 get_graph() 重命名为 execution_graph

  • 继续添加示例文档

  • 添加更多解释示例和用法的注释

  • 添加更多解释示例和用法的注释

  • 添加更多解释示例和用法的注释

  • 添加更多解释示例和用法的注释

  • 修复一些 python3 不兼容性

  • utils.reflection 的 python3 兼容性

  • 模块名称不适用于内置类型和异常名称

  • 修复示例中的 python3 兼容性问题

  • 修复 python 2/3 的打印语句

  • 添加一个使用 sqlite 持久化层的迷你 cinder 卷创建示例,并具有恢复功能

  • 更新 oslo 复制并引入 versionutils

  • 向 python 3/2 兼容的元类移动

  • 添加一个辅助启动 vm 示例

  • 来自后端的 action engine 恢复

  • 一些措辞/拼写调整

  • 创建一个 green executor 和 green future

  • 添加一个简单的迷你计费堆栈示例

  • 添加一个使用 sqlite 持久化层的示例

  • 将状态添加到 dot->svg 工具

  • 添加一组有用的监听器

  • 移除装饰器并移动到 utils

  • 添加解释创建边缘的原因

  • 修复 entrypoints 被 update.py 更新/创建

  • 验证每个流程状态更改

  • 更新失败流程的状态序列

  • 流程工具和添加注释

  • 将需求更新到最新版本

  • 添加一个检查 sanity 并注意绑定方法的实用程序

  • 一些小的异常清理

  • 检查重复的任务名称是否在展平时存在

  • 正确保存任务版本

  • 允许按索引访问

  • 修复模块文件的导入

  • 包装和序列化失败

  • 更简单的 API 用于将流程加载到引擎中

  • 避免设置对象变量

  • 一些对进度代码的小调整

  • 清理未使用的状态

  • 移除 d2to 依赖项

  • 如果找到多个提供程序,则发出警告

  • 内存持久化后端改进

  • 从模型创建数据库以供 SQLite 使用

  • 不允许修改底层图的操作

  • 添加图密度

  • 暂停单线程和多线程引擎

  • 移除不存在的流程类型的旧测试

  • 启动虚假虚拟机示例已修复

  • 将图形导出到点工具

  • 移除未使用的实用类

  • 移除图形流的黑名单

  • 任务装饰器已被移除,示例已更新

  • 移除弱引用用法

  • 为无序流添加基本的健全性测试

  • 清理 job/jobboard 代码

  • 添加基于目录/文件系统的持久化层

  • 移除较旧的(未使用的)恢复机制

  • 重新集成并行操作

  • 添加一个流展平工具

  • 允许在任务定义中指定默认的提供项

  • 图形流,顺序图形操作

  • 任务进度

  • 验证提供项和要求

  • 重新映射提交者的电子邮件

  • 使用执行器代替池

  • 修复链接异常的形成

  • 移除线程化和分布式流

  • 添加检查任务是否提供其应该提供的所有结果

  • 使用 six 字符串类型代替 basestring

  • 移除 oslo.db 和 oslo.config 的使用

  • 朝着使用后端+连接模型发展

  • 将提供项和要求属性添加到 Flow

  • 修复引擎运行时崩溃

  • 移除公共配置,因为它不需要

  • 允许锁装饰器接受一个列表

  • 允许提供项为集合,结果为字典

  • 允许复制引擎 + 黑名单损坏的流

  • 添加链接,说明由于后期绑定而必须创建此工厂的原因

  • 使用锁装饰器并关闭/连接线程池

  • 引擎、任务、线性流统一

  • 组合多个异常为一个链接异常

  • 将一些示例转换为使用模式/引擎

  • 多线程引擎和并行操作

  • 引擎的状态管理

  • 操作引擎:保存任务结果

  • 基于操作的引擎的初始实现

  • update.py 的进一步更新

  • 拆分 utils 模块

  • 将 Task.__call__ 重命名为 Task.execute

  • Reader/writer 不再使用

  • 将“revert_with”重命名为“revert”,将“execute_with”重命名为“execute”

  • 在任务撤销时发出通知

  • 让 runner 保留异常

  • 使用 distutil 版本类

  • 为 task.Task 添加功能

  • 添加 get_required_callable_args 实用函数

  • 添加 get_callable_name 实用函数

  • 需要 uuid + 将 functor_task 移动到 task.py

  • 在运行测试时检查示例

  • 使用相同的根测试类

  • LazyPluggable 不再使用

  • 添加一个本地运行的线程流

  • 更改 functor_task 中的命名并在其 __init__ 中添加文档

  • 重构持久化层

  • 不要让 runner 修改 uuid

  • 重构装饰器

  • 以一种更好的方式将任务从任何可调用对象中创建出来

  • 使用 oslo 的 sqlalchemy 层

  • 文件移动

  • 添加了后端 API 数据库实现

  • 添加了内存持久化 API 和通用数据类型

  • 同步最新的 oslo 代码

  • 移除 openstack.common.exception 的使用

  • 忘记将此文件移动到正确文件夹

  • 添加一个新的简单计算器示例

  • 使提供项链接更安静

  • 深度复制并非总是可能的

  • 添加一个模拟启动虚拟机的示例

  • 添加一个更复杂的图形示例

  • 将示例移动到源代码树下

  • 调整一堆黑客违规行为

  • 修复 test_linear_flow.py 和 simple_linear_listening.py 中的错别字

  • 修复次要代码风格

  • 修复 docs/examples 中的两个小错误

  • 显示文件修改并根据配置文件修复 dirpath

  • 添加一种使用 taskflow 的方法,直到库稳定

  • 提供流的长度

  • 父对象在创建后应被冻结

  • 允许手动提供图形依赖项

  • 添加一个重置内部状态的辅助函数

  • 迁移到使用 pbr

  • 统一创建/使用 uuid

  • 使用 runner 接口作为最佳任务查找器

  • 确保我们记录并完成正确的删除

  • 传递 runner 而不是任务对象/uuid

  • 将恢复方式移动到与 jobs/flows 断开连接

  • 连接前清理

  • 在添加任务后进行连接/验证

  • 添加一个执行通知的辅助函数

  • 按 add() uuid 存储结果,而不是以数组形式存储

  • 集成更好的锁定和一个 runner 辅助类

  • 清理各种组件

  • 将一些有序流辅助类移动到 utils

  • 允许实例方法被正确地包装和解包

  • 添加一些简单的示例的开始

  • 更新 readme 以指向链接

  • 修复大部分黑客规则

  • 修复所有 flake8 E* 和 F* 错误

  • 修复当前的 flake8 错误

  • 不要在任务名称中保留状态/版本

  • 小改动以触发 jenkins,以便我可以清理

  • 在运行之前将任务添加到累加器

  • 将 .settings 和 .venv 添加到 .gitignore

  • 修复 python 2.6 的测试

  • 添加了软重置工作流的能力

  • 添加一个 .gitreview 文件,以便 git-review 正常工作

  • 确保我们有一个异常并捕获 exc_info

  • 更新获取可选结果时的图形结果

  • 允许可选的任务要求

  • 我们没有在发生错误时发出通知,所以修复它

  • 带过来 nova 的 get_wrapped_function 辅助函数并使用它

  • 允许在创建任务详细条目时传入元数据

  • 更新查找任务 functor 属性版本的方式

  • 移除更多制表符事件

  • 移除测试噪音并格式化为 pep8

  • 继续使用装饰器

  • 确保我们获取包

  • 修复 pep8 格式化……终于

  • 添加流分离并调整关联路径

  • 添加一个 setup.cfg 并用一组默认的 nosetests 选项填充它

  • 修复间距

  • 添加一个更好的任务命名算法

  • 添加一个主要/次要版本

  • 添加一个获取多个 attr/s 和连接辅助函数

  • 减少测试噪音

  • 修复由于更改而导致的一些单元测试

  • 确保我们正确处理 functor 名称和重置

  • 移除 safe_attr

  • 修改 db 测试

  • 移除 .pyc

  • 修复 .gitignore 中的 .py

  • 更新 db api 测试

  • DB api 测试用例和修订

  • 允许关闭自动提取并添加一个测试

  • 使用一个函数来过滤参数并添加注释

  • 使用更新而不是覆盖

  • 将装饰器移动到新文件并更新为使用更好的 wraps()

  • 继续使用装饰器

  • 更新添加提供项和要求装饰器以用于独立函数

  • 不要使用 apply,而是使用 __call__

  • 添加注释说明为什么我们在通知任务侦听器之前累积

  • 使用一个默认的 sqlite 后端使用 taskflow 文件

  • 添加一个基本的回滚累加器测试

  • 使用回滚累加器并移除 requires()/provides() 作为函数

  • 允许(或不允许)多个提供项

  • 将清理行放在一个单独的函数中

  • 与 oslo-incubator 同步

  • 移除 uuid,因为我们现在使用 uuidutils

  • 移除 pylint 严格版本中未找到的错误代码

  • 包含更多开发测试包 + 匹配版本

  • 更新新 db/分布式后端依赖项

  • 将一些函数移动到使用它们的 openstack/common 对应物

  • 更多导入修复

  • 修补导入

  • 修复语法错误

  • 将 cause -> exception 并使 exception 可选

  • 允许之前的任何任务满足要求

  • 确保我们正确更改 self 和 parents 状态

  • 始终提供一个名称

  • 清理文件/无关文件/修复关系

  • 更多 pylint 清理

  • 将更多线性测试和 shuffle 测试工具移动到通用文件

  • 仅对集合对象进行差异

  • 确保我们获取正在运行的任务的适当输入

  • 让线性工作流验证任务输入

  • 指定任务提供项/要求必须是不可变的集合

  • 清理 DB 更改

  • db api 定义

  • 完善 sqlalchemy api

  • 快完成了 sqlalchemy api

  • 修复状态检查

  • 修复流异常措辞

  • 确保 job 在我们关联和运行之前处于挂起状态

  • 更多 pylint 清理

  • 确保我们与父流关联

  • 添加一个漂亮的 run() 方法到 job 类,它将运行一个流

  • 大规模 pylint 清理

  • 删除 .swp 文件

  • 删除 .swp 文件

  • 清理初始 pull request

  • 添加一些图形排序测试用例

  • 更新自动命名和参数检查

  • 更新 order 调用和 connect 调用

  • 将流失败移动到流文件并正确捕获排序失败

  • 只是开玩笑 - 这次真的修复关系

  • 修复表关系

  • 允许传入 job id

  • 检查正在连接的对象并确保 > 0 个连接器

  • 将 await 函数移动到 utils

  • 图形测试和调整相关

  • 添加图形流测试

  • 修复遗漏的名称更改

  • 启用从其参数中提取 functor 要求

  • 现在调用 flow,而不是 workflow

  • 第二次传递模型

  • 更多测试

  • 简化存在性检查

  • 更多 Pythonic 函数和 workflow -> flow 重命名

  • 添加了更多 utils,添加了 workflow 的模型

  • 拼写错误和东西

  • 为 read 方法添加括号

  • 实现了基本的 sqlalchemy 会话类

  • 设置 Configs 和 SQLAlchemy/DB 后端

  • 修复导入

  • 如果容忍 vs 不容忍,则使用不同的 logger 方法

  • 更多函数注释

  • 添加一些线性工作流测试

  • 允许中断恢复阶段

  • 修复缺失的上下文变量

  • 迁移 celery/分布式工作流

  • 更新描述措辞

  • Pep 修复

  • 不要使用 notify 成员函数,而是使用 functors

  • 更多措辞修复

  • 添加更改任务失败调解的能力

  • 正确运行部分恢复后的任务

  • 另一个措辞修复

  • 拼写修复

  • 允许 functor 任务接受一个名称并为其提供一个默认值

  • 更新 functor 任务注释

  • 将一些有用的辅助函数和函数移动到其他文件

  • 添加将工作流与 job 关联的能力

  • 将有用的 functor 包装任务从测试移动到 wrappers 文件

  • 添加一个线程发布/声明示例并重做测试以使用它

  • 在添加重新发布/取消声明后反映这些更改

  • 添加一个更漂亮的字符串名称,显示类名

  • 调整 job 和 workflow 可以处于的一些状态

  • 添加一个更有用的名称,显示这是一个任务

  • 移除 impl of erasing,它没有做太多,并允许 job 重新发布

  • 各种重构

  • 重命名 logbook 内容

  • 让内存测试示例正常工作

  • 添加一个 pylintrc 文件以与 pylint 一起使用

  • 重构 logbook 为基于章节/页面的方式

  • 将有序工作流移动到自己的文件

  • 增加注释数量

  • 开始添加一个更通用的基于 DAG 的工作流

  • 移除 dict_provider 依赖

  • 重构由于代码注释

  • 开始添加测试功能

  • 填充大部分内存 job

  • 重构我们应该如何使用列表而不是 ordereddicts 以获得最佳使用

  • 为有用的读/写锁添加一个上下文管理器

  • 确保任务有一个名称

  • 添加一个运行状态,可用于知道工作流何时正在运行

  • 重命名创建日期字段

  • 添加一些搜索功能并调整 await() 函数参数

  • 移除并添加一些新的异常

  • 缩小暴露的方法

  • 现在移除 promise 对象

  • 添加 RESUMING

  • 修复拼写

  • 继续准备内存 impl. 以便有用

  • 在 python <= 2.6 上,我们需要导入 ordereddict

  • 移除对 nova 的其他引用

  • 添加 openstack common 并移除 patch 引用

  • 移动简化

  • 继续移动这里

  • 更新 README.md

  • 更新 readme

  • 现在移动代码

  • 初始提交