DolphinScheduler 2.0.2 发布,WorkflowAsCode 动态、批量创建工作流

栏目: 软件资讯 · 发布时间: 2年前

内容简介:千呼万唤中,WorkflowAsCode 功能终于在 2.0.2 版本中如约上线,为有动态、批量创建和更新工作流需求的用户带来福音。 此外,新版本还新增企业微信告警群聊会话消息推送,简化了元数据初始化流程,并修复了旧版本...

DolphinScheduler 2.0.2 发布,WorkflowAsCode 动态、批量创建工作流

千呼万唤中,WorkflowAsCode 功能终于在 2.0.2 版本中如约上线,为有动态、批量创建和更新工作流需求的用户带来福音。

此外,新版本还新增企业微信告警群聊会话消息推送,简化了元数据初始化流程,并修复了旧版本中强制终止后服务重启失败,添加 Hive 数据源失败等问题。

01 新功能

1 WorkflowAsCode

首先在新功能上,2.0.2 版本重磅发布了 PythonGatewayServer, 这是一个 Workflow-as-code 的服务端,与 apiServer 等服务的启动方式相同。

启用 PythonGatewayServer 后,所有 Python API 的请求都会发送到 PythonGatewayServer。Workflow-as-code 让用户可以通过 Python API 创建工作流,对于有动态、批量地创建和更新工作流的用户来说是一个好消息。通过 Workflow-as-code 创建的工作流与其他工作流一样,都可以在 web UI 查看。

以下为一个 Workflow-as-code 测试用例:

# 定义工作流属性,包括名称、调度周期、开始时间、使用租户等信息
with ProcessDefinition(
    name="tutorial",
    schedule="0 0 0 * * ? *",
    start_time="2021-01-01",
    tenant="tenant_exists",
) as pd:
    # 定义4个任务,4个都是  shell  任务,shell 任务的必填参数为任务名、命令信息,这里都是 echo 的 shell 命令
    task_parent = Shell(name="task_parent", command="echo hello pydolphinscheduler")
    task_child_one = Shell(name="task_child_one", command="echo 'child one'")
    task_child_two = Shell(name="task_child_two", command="echo 'child two'")
    task_union = Shell(name="task_union", command="echo union")

    # 定义任务间依赖关系
    # 这里将 task_child_one,task_child_two 先声明成一个任务组,通过  python  的 list 声明
    task_group = [task_child_one, task_child_two]
    # 使用 set_downstream 方法将任务组 task_group 声明成 task_parent 的下游,如果想要声明上游则使用 set_upstream
    task_parent.set_downstream(task_group)

    # 使用位操作符 << 将任务 task_union 声明成 task_group 的下游,同时支持通过位操作符 >> 声明
    task_union << task_group

上面的代码运行后,可以在 web UI 看到的工作流如下:

                  --> task_child_one
                /                    \
task_parent -->                        -->  task_union
                \                   /
                  --> task_child_two

2 企业微信告警方式支持群聊消息推送

在此前版本中,微信告警方式仅支持消息通知方式;在 2.0.2 版本中,用户在使用企业微信的告警时,支持进行应用内以群聊会话消息推送的方式推送给用户。

02 优化

1 简化元数据初始化流程

首次安装 Apache DolphinScheduler 时,运行 create-dolphinscheduler.sh 需要从最早的版本逐步升级到当前版本。为了更方便快捷地初始化元数据流程,2.0.2 版本让用户可以直接安装当前版本的数据库脚本,提升安装速度。

2 删除补数日期中的“+1”(天)

删除了补数日期中的“+1”天,以避免补数时 UI 日期总显示 +1 给用户造成的困惑。

03 Bug 修复

[#7661] 修复 logger 在 worker 中的内存泄漏
[#7750 ]兼容历史版本数据源连接信息
[#7705] 内存限制导致从 1.3.5 升级到 2.0.2 出现错误
[#7786] 强制终止后服务重启失败
[#7660] 流程定义版本创建时间错误
[#7607] 执行 PROCEDURE 节点失败
[#7639] 在通用配置项中添加 quartz 和 zookeeper 默认配置
[#7654] 在依赖节点中,出现不属于当前项目的选项时报错
[#7658] 工作流复制错误
[#7609] worker sendResult 成功但 master 未收到错误时,工作流始终在运行
[#7554] 
Standalone Server 中的 H2 会在数分钟后自动重启,导致数据异常丢失

[#7434] 执行 MySQL 建表语句报错
[#7537] 依赖节点重试延迟不起作用
[#7392] 添加 Hive 数据源失败

下载:https://dolphinscheduler.apache.org/zh-cn/download/download.html

Release Note:https://github.com/apache/dolphinscheduler/releases/tag/2.0.2

04 致谢

一如既往地,感谢所有为 2.0.2版本建言献策并付诸行动的 Contributor(排名不分先后),是你们的智慧和付出让 Apache DolphinScheduler 更加符合用户的使用需求。

DolphinScheduler 2.0.2 发布,WorkflowAsCode 动态、批量创建工作流

05 参与贡献

随着国内开源的迅猛崛起,Apache DolphinScheduler 社区迎来蓬勃发展,为了做更好用、易用的调度,真诚欢迎热爱开源的伙伴加入到开源社区中来,为中国开源崛起献上一份自己的力量,让本土开源走向全球。

参与 DolphinScheduler 社区有非常多的参与贡献的方式,包括:

DolphinScheduler 2.0.2 发布,WorkflowAsCode 动态、批量创建工作流

贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。

社区汇总了以下适合新手的问题列表:https://github.com/apache/dolphinscheduler/issues/5689

非新手问题列表:https://github.com/apache/dolphinscheduler/issues?q=is%3Aopen+is%3Aissue+label%3A%22volunteer+wanted%22

如何参与贡献链接:https://dolphinscheduler.apache.org/zh-cn/community/development/contribute.html

来吧,DolphinScheduler开源社区需要您的参与,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是巨大的。

参与开源可以近距离与各路高手切磋,迅速提升自己的技能,如果您想参与贡献,我们有个贡献者种子孵化群,可以添加社区小助手微信(Leonard-ds) 手把手教会您( 贡献者不分水平高低,有问必答,关键是有一颗愿意贡献的心 )。添加小助手微信时请说明想参与贡献。

社区官网https://dolphinscheduler.apache.org/

代码仓地址https://github.com/apache/dolphinscheduler

您的 Star,是 Apache DolphinScheduler 为爱发电的动力❤️ 

 

投稿请添加社区小助手微信

(Leonard-ds)


以上所述就是小编给大家介绍的《DolphinScheduler 2.0.2 发布,WorkflowAsCode 动态、批量创建工作流》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Servlet&JSP学习笔记

Servlet&JSP学习笔记

林信良 / 清华大学出版社 / 2010-4 / 48.00元

《Servlet&JSP学习笔记》以“在线书签”项目贯穿全书,随着每一章的讲述都在适当的时候将 Servlet & JSP技术应用于“在线书签”程序之中,并作适当修改,以了解完整的应用程序构建方法。《Servlet&JSP学习笔记》内容包括简单的Web应用程序,开发简单的Servlet & JSP合理管理,JSP的使用,整合数据库等相关内容,《Servlet&JSP学习笔记》适合Servlet ......一起来看看 《Servlet&JSP学习笔记》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具