前言

千呼万唤中,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 更加符合用户的使用需求。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-khOi7pqS-1641973062202)(/img/bVcXkuE)]

05 参与贡献

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

参与 DolphinScheduler 社区有非常多的参与贡献的方式,包括:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1eBvYLtR-1641973062204)(/img/bVcWTXJ)]

贡献第一个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)

WorkflowAsCode 来了,Apache DolphinScheduler 2.0.2 惊喜发布的更多相关文章

  1. Apache DolphinScheduler 3.0.0 正式版发布!

    ​  点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler   ​ 版本发布 2022/8/10 2022 年 8 ...

  2. Apache DolphinScheduler 2.0.1 来了,备受期待的一键升级、插件化终于实现

    ✎ 编 者 按:好消息!Apache DolphinScheduler 2.0.1 版本正式发布! 本版本中,DolphinScheduler 经历了一场微内核+插件化的架构改进,70% 的代码被重构 ...

  3. 重构、插件化、性能提升 20 倍,Apache DolphinScheduler 2.0 alpha 发布亮点太多!

    点击上方 蓝字关注我们 社区的小伙伴们,好消息!经过 100 多位社区贡献者近 10 个月的共同努力,我们很高兴地宣布 Apache DolphinScheduler 2.0 alpha 发布.这是 ...

  4. Apache DolphinScheduler 1.3.6 功能发布说明

    参与人员 @chengshiwen.@hailin0.@wanghong1314.@ruanwenjun.@xxjingcd.@zhangguohao.@zhuangchong.@syb8535531 ...

  5. 就在明天,Apache DolphinScheduler Meetup 2021 如约而至!

    点击上方 蓝字关注我们 社区的小伙伴们,Apache DolphinScheduler Meetup 2021 如约而至,就在明天,等你来玩! 在此次 Meetup 线上直播中,不仅将有来自 Bigo ...

  6. 感谢有你!Apache DolphinScheduler 项目 GitHub star 突破 8k

    本周伊始,Apache DolphinScheduler 项目在 GitHub 上的 Github Star 总数首次突破 8K.目前,Apache DolphinScheduler 社区已经拥有 C ...

  7. 论语音社交视频直播平台与 Apache DolphinScheduler 的适配度有多高

    在 Apache DolphinScheduler& Apache ShenYu(Incubating) Meetup 上,YY 直播 软件工程师 袁丙泽 为我们分享了<YY直播基于Ap ...

  8. Apache DolphinScheduler&ShenYu(Incubating) 联合 Meetup,暖春 3 月与你相约!

    云霞出海曙,梅柳渡江春. 2022 年的早春在疫情中显得格外生机勃勃,虽然接下来寒流仍有可能造访国内部分地区,但开源的世界,早已热闹非凡! 2022 年 3 月 26 日(星期六), Apache D ...

  9. 杭州思科对 Apache DolphinScheduler Alert 模块的改造

    杭州思科已经将 Apache DolphinScheduler 引入公司自建的大数据平台.目前,杭州思科大数据工程师 李庆旺 负责 Alert 模块的改造已基本完成,以更完善的 Alert 模块适应实 ...

随机推荐

  1. 这篇 DNS ,写的挺水的。

    试想一个问题,我们人类可以有多少种识别自己的方式?可以通过身份证来识别,可以通过社保卡号来识别,也可以通过驾驶证来识别,尽管有多种识别方式,但在特定的环境下,某种识别方法会比其他方法更为适合.因特网上 ...

  2. Android 实现开机自启APP

    原文地址:Android 实现开机自启APP - Stars-One的杂货小窝 公司有个项目,需要实现自启动的功能,本来想着是设置桌面启动器的方式去实现,但是设备是华为平板(EMUI系统),不允许设置 ...

  3. Kubernetes client-go 源码分析 - ListWatcher

    概述ListWatch 对象的创建GetterListWatchList() & Watch() 概述 源码版本信息 Project: kubernetes Branch: master La ...

  4. Python3 collections模块

    https://www.cnblogs.com/zhangxinqi/p/7921941.html http://www.wjhsh.net/meng-wei-zhi-p-8259022.html h ...

  5. conda命令的使用,环境安装,创建环境以Anaconda为例

    Anaconda用命令conda创建环境: 安装Anaconda后,用Conda –version查看conda的版本号: Conda create -n name python = x.xx Con ...

  6. DYOJ 【20220317模拟赛】瞬间移动 题解

    瞬间移动 题意 三维空间中从 \((0,0,0)\) 开始,每次移动 1,问刚好走 \(N\) 次能到 \((X,Y,Z)\) 的方案数 \(N\le10^7\),答案模 \(998244353\) ...

  7. idea 中菜单栏定位到类的图标消失(小齿轮按钮)

    本文链接:https://www.cnblogs.com/hchengmx/p/14533349.html 在2019.2以及以下版本 勾选:Autoscroll from source: 在2019 ...

  8. 重学ES系列之拓展运算符

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 【react】什么是fiber?fiber解决了什么问题?从源码角度深入了解fiber运行机制与diff执行

    壹 ❀ 引 我在[react] 什么是虚拟dom?虚拟dom比操作原生dom要快吗?虚拟dom是如何转变成真实dom并渲染到页面的?一文中,介绍了虚拟dom的概念,以及react中虚拟dom的使用场景 ...

  10. Linux系统安全配置

    1.物理安全 硬件服务器,关闭从CD/DVD等这些方面的软启动方式.同时也可以设置BIOS密码,并且要有限制访问的策略与各类流程管控. 还可以禁用USB设备来达到安全的目的: centos7x 安装d ...