共计 2789 个字符,预计需要花费 7 分钟才能阅读完成。
千呼万唤中,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.apac…
Release Note:https://github.com/apache/dol…
04 致谢
判若两人地,感激所有为 2.0.2 版本建言献策并付诸行动的 Contributor(排名不分先后),是你们的智慧和付出让 Apache DolphinScheduler 更加合乎用户的应用需要。
05 参加奉献
随着国内开源的迅猛崛起,Apache DolphinScheduler 社区迎来蓬勃发展,为了做更好用、易用的调度,真挚欢送酷爱开源的搭档退出到开源社区中来,为中国开源崛起献上一份本人的力量,让外乡开源走向寰球。
参加 DolphinScheduler 社区有十分多的参加奉献的形式,包含:
奉献第一个 PR(文档、代码) 咱们也心愿是简略的,第一个 PR 用于相熟提交的流程和社区合作以及感触社区的友好度。
社区汇总了以下适宜老手的问题列表:https://github.com/apache/dol…
非老手问题列表:https://github.com/apache/dol…
如何参加奉献链接:https://dolphinscheduler.apac…
来吧,DolphinScheduler 开源社区须要您的参加,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是微小的。
参加开源能够近距离与各路高手切磋,迅速晋升本人的技能,如果您想参加奉献,咱们有个贡献者种子孵化群,能够增加社区小助手微信(Leonard-ds) 手把手教会您(贡献者不分程度高下,有问必答,要害是有一颗违心奉献的心)。增加小助手微信时请阐明想参加奉献。
社区官网
https://dolphinscheduler.apac…
代码仓地址 https://github.com/apache/dol…
您的 Star,是 Apache DolphinScheduler 为爱发电的能源❤️ ~
投稿请增加社区小助手微信
(Leonard-ds)