关于大数据:WorkflowAsCode-来了Apache-DolphinScheduler-202-惊喜发布

41次阅读

共计 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)

正文完
 0