DolphinScheduler运维-页面加载缓慢

一、问题描述

DolphinScheduler调度平台的UI界面加载缓慢,项目中的任务实例加载时间过长,需要解决这个问题,提高DolphinScheduler平台UI页面的加载速度。


二、原因分析

经过分析发现,任务实例过多是导致UI加载缓慢的主要原因。由于任务实例无法直接删除,根据文档了解到需要删除相应的工作流实例。删除工作流实例后,相关的任务实例和日志会自动被删除。然而,手动删除工作流实例耗时较长,因此不是一个有效的解决方案。为了提高效率,可以利用DolphinScheduler提供的API接口来实现删除操作,然后在DolphinScheduler平台上设置一个定时任务,定期清理工作流实例。可以编写Shell脚本或Python脚本来实现清理逻辑。

根据DolphinScheduler的API文档,进程实例(Process Instance)对应着UI页面中的工作流实例。因此,通过定时清理过期的进程实例,可以有效优化DolphinScheduler平台的UI加载速度。


三、解决方案

1. 设置API访问令牌

创建令牌步骤如下:

在这里插入图片描述

2. 逻辑分析

2.1 查找用于删除的API

查看DolphinScheduler的API文档,文档地址:http://localhost:12345/dolphinscheduler/swagger-ui/index.html。
找到进程实例相关操作的API,可以看到有两个进行删除操作的API,选择批量删除的接口/dolphinscheduler/projects/{projectCode}/process-instances/batch-delete来执行删除操作。
需要两个参数。

  • processInstanceIds:进程实例id的数组,用逗号分隔
  • projectCode:项目代码

在这里插入图片描述

2.2 获取进程实例id的数组

可以从/dolphinscheduler/projects/{projectCode}/process-instances接口获取进程实例的相关信息。
需要三个参数。

  • pageNo:当前页
  • pageSize:每页多少条数据
  • projectCode:项目代码
    在这里插入图片描述

2.3 获取项目代码

找到项目相关操作的API,可以使用/dolphinscheduler/projects/list获取所有项目的一个列表信息,可以根据其中的项目名获得项目代码。

3. 代码实现

此代码将会清理所有项目4个月前1号到3个月前1号的工作流实例。

3.1 shell代码实现

#!/bin/bash# 认证令牌
token='5c7437968f5d4492dc694902d6e6847f'
# 链接
url='http://localhost:12345/dolphinscheduler'
# 每页多少条
page_size=10# 三个月前日期时间
three_month_ago_datetime=$(date -d "-3 months" '+%Y-%m-01')
# 四个月前日期时间
four_month_ago_datetime=$(date -d "-4 months" '+%Y-%m-01')# 获取所有项目名称
project_names=($(curl -X GET -H "token: ${token}" "${url}/projects/list" | jq -r '.data[] | "\(.name)"'))# 循环获取项目名
for project_name in "${project_names[@]}"
doecho "************************** 项目名: ${project_name} **************************"# 根据项目名获取项目代码project_code=$(curl -X GET -H "token: ${token}"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/756580.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

狼人杀 魔镜少女 个人玩法理解

最近出来的新板子 (魔镜少女 觉醒隐狼) 确实是非常的好玩 先来说说板子身份 好人阵营: 神职牌有 魔镜少女 女巫 猎人 守卫 民牌有: 四个普通平民 狼人阵营: 觉醒隐狼 四个普通小狼人 先来说说技能 魔镜少女每晚可以翻拍查验一名玩家的具体身份,注意 是具体身份 就…

网络架构层_交换机连接使用

网络架构层_交换机连接使用 交换机是不是不会用呀?交换机,服务器,路由器,防火墙,网关,这些都是嘛呀? 网上的一些网络架构图,具体项目按照实际考虑。 交换机的Console口——通过Con…

c语言指针(二)

c语言指针(二) 1.数组名的理解 2.使用指针访问数组 3.一维数组的传参本质 1.数组名的理解 int arr[10] { 1,2,3,4,5,6,7,8,9,10 }; int* p &arr[0]这⾥我们使⽤ &arr[0] 的⽅式拿到了数组第⼀个元素的地址,但是其实数组名本来就是…

【链表】Leetcode 142. 环形链表 II【中等】

环形链表 II 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系…

Linux用户、用户组

用户管理命令: 首先要先知道两个配置文件:/etc/group 用户组配置文件/etc/passwd 保存了所有用户的用于读取的必要信息**/etc/shadow **是 Linux 系统中用于存储用户密码信息的文件。这个文件也被称为“影子文件”,因为它包含了 /etc/passwd…

网站如何搭建 网站搭建的详细步骤

网站如何搭建 网站搭建的详细步骤 一.领取一个免费域名和SSL证书,和CDN 1.打开网站链接:https://www.rainyun.com/z22_ 2.在网站主页上,您会看到一个"登陆/注册"的选项。 3.点击"登陆/注册",然后选择"…

打破沟通壁垒:跨部门需求冲击与IT部门的应对智慧

引言 在快节奏、高要求的互联网行业,跨部门间的有效沟通是确保项目顺利进行和公司业务稳定发展的基石。然而,需求突袭往往成为打乱这一稳定局面的重要因素。 事件的背景 作为一IT部门负责人,在跨部门的领导层沟通会议上,一个在事…

2024蓝桥杯每日一题(回溯)

备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一:木棒 试题二:n皇后问题 试题三:糖果 试题四:飞机降落 试题五:生日蛋糕 试题一:木棒 【问题描述】 乔治拿来一组等长…

【UE5】非持枪站姿移动混合空间

项目资源文末百度网盘自取 创建角色在非持枪状态且站立移动的动画混合空间 在Character文件夹中创建文件夹,命名为BlendSpace 所有混合空间文件都放到这个文件夹中 在BlendSpace文件夹中单击右键,选择动画(Animation)中的混合空间(BlendSpace) 选择SK…

2、Java虚拟机之类的生命周期-连接(验证、准备、解析)

一、类的生命周期 连接阶段之验证 连接阶段的第一个环节是验证&#xff0c;验证的主要目的是检测Java字节码文件是否遵守了<Java虚拟机规范>中的约束。这个阶段一般是不需要程序员进行处理。 主要包含如下四个部分,具体详见<<Java虚拟机规范>>: 1、文件格…

ClickHouse--13--springboot+mybatis配置clickhouse

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 ClickHouse1.添加maven依赖2.配属数据源3.参数配置4.Druid连接池配置5.entity6.Mapper接口7.Mapper.xml8.controller接口9.创建一个clickhouse表10.测试 ClickHouse…

JavaScript 进阶(四)

一、深浅拷贝 开发中我们经常需要复制一个对象。如果直接用赋值会有下面问题&#xff1a; 1.1 浅拷贝 首先浅拷贝和深拷贝只针对引用类型 。 浅拷贝&#xff1a;拷贝的是地址 。 常见方法&#xff1a; 1. 拷贝对象&#xff1a;Object.assgin() / 展开运算符 {...obj} 拷贝对…

【隐私计算实训营-001数据可信流通,从运维信任到技术信任】

1. 数据可信流通体系 信任的基石&#xff1a; 身份的可确认利益可依赖能力有预期行为有后果 2.内循环——>外循环 内循环&#xff1a;数据持有方在自己的运维安全域内队自己的数据使用和安全拥有全责。 外循环&#xff1a;数据要素在离开持有方安全域后&#xff0c;持有方…

阅读笔记(CVPR2020)Warping Residual Based Image Stitching for Large Parallax

基于变形残差的大视差图像拼接 K. -Y. Lee and J. -Y. Sim, "Warping Residual Based Image Stitching for Large Parallax," 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Seattle, WA, USA, 2020, pp. 8195-8203, doi: 10.1109/…

CSS学习2

自己在工作中总是有一些自动化开发的需求&#xff0c;总是以为自己是有前端基础的&#xff0c;但是一写页面&#xff0c;布局都布不好&#xff0c;真是搞笑&#xff0c;说起来还是基本功不扎实啊&#xff0c;这里在重新复习一下&#xff0c;然后记录一下文档。后边在写两个综合…

【linux】环境变量(进程二)

这里写目录标题 命令行参数&#xff1a;环境变量&#xff1a; 命令行参数&#xff1a; 不谈命令行参数就谈环境变量就是耍流氓。 相信我们在C语言阶段都在main函数里见过参数。 例如int main(int argc, char* argv[]) 这是什么东西呢&#xff1f; 话不多说我们直接打印一下看…

JupyterNotebook 如何切换使用的虚拟环境kernel

在Jupyter Notebook中&#xff0c;如果需要修改使用的虚拟环境Kernel&#xff1a; 首先&#xff0c;需要确保虚拟环境已经安装conda上【conda基本操作】 打开Jupyter Notebook。 在Jupyter Notebook的顶部菜单中&#xff0c;选择 “New” 在弹出的窗口中&#xff0c;列出了…

“JavaScript: void(0)的替代方案有哪些?”

学习目标&#xff1a; 理解javascript:void(0)的工作原理&#xff0c;以及它在前端开发中的作用和用途。掌握javascript:void(0)的正确用法&#xff0c;包括在HTML中使用和在事件处理程序中使用。能够识别javascript:void(0)可能引起的常见问题&#xff0c;并学会相应的解决方…

numpy的数组深度叠加dstack详解

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、引言 numpy的dstack函数用于沿着第三个维度&#xff08;深度&#xff09;将数组堆叠起来。它将多个数组按照深度方向进行堆叠&#xff0c;生成一个新的数组。具体来说&#xff0c;dstack函数会将输入的…

docker部署开源多功能监控系统

HertzBeat 是一个无需 Agent、高性能、易扩展、功能强大的开源实时监控告警系统&#xff0c;无需 Agent、高性能、易扩展、功能强大&#xff0c;由 Dromara 团队开发并开源&#xff0c;能够帮我们轻松监控应用、服务、基础设施等各种资源的运行状况 部署 docker run -d -p 11…