CacheCloud中Task任务执行过程

简介: CacheCloud中Task任务执行过程实质是先将task进行堆积到taskQueue中,然后进行统一多线程进行处理。

一、定时任务的生成执行过程

CacheCloud定时任务执行的过程,以taskServie为例:

首先指定需要执行的任务,也即task,然后才能执行定时任务。因此在CacheCloud中,可以看到定时任务的添加是在TaskService中的,可以看到有许多带add前缀的task任务。可以看到定时任务需要先提交到taskQueue中,然后经过taskService触发excuteNewTask,执行任务,此时会先查询还没执行的定时任务列表,找到未执行的定时任务,然后获取具体定时任务的执行步骤getTaskSteps,拿到之后,会拿到需要执行的若干步骤,就可以执行了。执行完成后,会更新taskQueue表中定时任务的状态。


二、定时任务的来源

比如部署应用的时候就会有addTask这个动作和提交检测

比如检测此时就会添加如下定时任务到taskQueue中等待taskService执行executeNewTask:

addAppScanKeyTask
addAppBigKeyTask
addAppIdleKeyTask
addAppHotKeyTask
addAppDelKeyTask
addAppScanCleanTask

以addAppBigKeyTask为例,com.sohu.cache.web.controller.AppToolController#submitDiagnostic可以看到需要经过:

更新审批信息
生成并保存taskqueue
更新task信息


三、TaskJob执行的过程

通过上下文拿到定时任务TaskService,执行taskService.executeNewTask()
获取任务队列列表是task是new状态的列表
循环任务队列,获取具体的task,更新task状态为准备执行READY
执行任务提交,然后拿到具体的task执行 future
获取具体的队列task,进行判断空和状态
更新队列task为正在执行RUNNING
获取任务步骤getTaskSteps
将相关task变成taskflow
设置task步骤信息放入到数据库 准备 TaskStepFlow    
遍历taskStepFlow
更新TaskQueue状态

taskStep的过程以AppDelKeyTask为例:

检查集群参数
创建delete key
等到delete key完成
工单审批

相关流程可以详见xmind:


目录
相关文章
|
SQL 数据可视化 数据管理
人大金仓数据库Kingbase8在CentOS7上的安装与使用
人大金仓数据库Kingbase8在CentOS7上的安装与使用
5854 1
人大金仓数据库Kingbase8在CentOS7上的安装与使用
|
11月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
2117 6
|
11月前
|
存储 Ubuntu 数据安全/隐私保护
|
安全 Nacos 数据安全/隐私保护
升级指南:从Nacos 1.3.0 到 2.3.0,并兼容 Seata 的鉴权配置
本文详细介绍了如何在微服务环境下从 Nacos 1.3.0 升级到 2.3.0,并确保 Seata 各版本的兼容性。作者小米分享了升级过程中的关键步骤,包括备份配置、更新鉴权信息及验证测试等,并解答了常见问题。通过这些步骤,可以帮助读者顺利完成升级并提高系统的安全性与一致性。
318 8
升级指南:从Nacos 1.3.0 到 2.3.0,并兼容 Seata 的鉴权配置
|
Docker 容器
Docker Hub镜像公共仓库使用
这篇文章介绍了如何使用Docker Hub公共仓库进行镜像的创建、上传、下载和管理。
5958 8
|
NoSQL 关系型数据库 MySQL
Redis私有云平台-Cachecloud安装和部署手册
Redis私有云平台-Cachecloud安装和部署手册
|
存储 Ubuntu 关系型数据库
在Ubuntu 16.04上安装和配置ownCloud的方法
在Ubuntu 16.04上安装和配置ownCloud的方法
155 0
|
安全 测试技术 Swift
Llama 3开源,魔搭社区手把手带你推理,部署,微调和评估
Meta发布了 Meta Llama 3系列,是LLama系列开源大型语言模型的下一代。在接下来的几个月,Meta预计将推出新功能、更长的上下文窗口、额外的模型大小和增强的性能,并会分享 Llama 3 研究论文。
Llama 3开源,魔搭社区手把手带你推理,部署,微调和评估
|
Ubuntu Unix Linux
Linux专栏01:Linux发展历史及背景介绍
Linux专栏01:Linux发展历史及背景介绍
669 0
|
监控 网络协议 Linux