项目流程图
2023-04-03 17:58:58 1 举报
https://github.com/labulakalia/crocodile.git 项目流程图
作者其他创作
大纲/内容
是
task:running:+taskId:任务的信息
协程退出
HTTP服务
获取下次执行时间间隔
查询缓存中是否已经存在
运行是否成功
清理日志信息
是否成功
关闭http服务
否
开启端口监听
存储日志信息
存储在任务中
写入调度缓存日志
解析cron
查询所有子任务信息
时间到续期锁
startRun
退出
gRPC服务
并行?
添加是否成功
取消函数是否为空
task:主任务ID:任务的类型:运行任务IDstatus:任务状态TsRuning
执行取消函数
循环父任务
设置任务状态
开始抢锁
task.event
等待退出信号
收到关闭信号
开启多路复用服务
查询是否成功
大于30S
查询成功
开启一个协程
查询执行主机
进入软件
查询所有缓存
格式化任务数据
连接成功
添加子任务到任务列表
task:主任务ID:任务的类型:运行任务IDreallog:任务真是日志
查询所有rpc连接
计算续约时间
连接redis
开始退出流程
循环子任务
等待执行时间
设置成功
告警发送协程
未画出设置任务状态步骤
获取下次执行主机
初始化rbac权限
task:主任务ID:任务的类型:运行任务IDstatus:任务状态
循环续期锁
task:running:正在运行的任务集合task:running:+taskId:任务的信息
关闭连接
err==nil
并行/串行运行父任务
新消息进入
addEvent/cahngeEvent
抢锁是否成功
验证数据库表是否已经创建
\"task:\" + taskId :[task:主任务ID:任务的类型:运行任务ID] 所有子任务列表task:主任务ID:任务的类型:运行任务IDstatus:任务状态task:主任务ID:任务的类型:运行任务IDresp:任务返回task:主任务ID:任务的类型:运行任务IDreallog:任务真是日志task:runlock:+taskId:任务锁task:running:正在运行的任务集合task:running:+taskId:任务的信息
设置任务初始状态
循环
订阅redis队列
kill
判断返回状态/返回内容
task:主任务ID:任务的类型:运行任务IDstatus:任务状态TsFail
查询任务调度缓存中的任务数据
添加任务到调度缓存
任务取消
是否还有下一个
从运行中任务缓存中删除此任务
从缓存中删除、执行取消文件、发送中断信号
开始运行
循环接收返回数据
redis
循环event信息
数据库中查询任务
存储到运行中任务缓存
查询返回信息
调用客户端接口
删除对应任务
添加http服务到多路复用
根据任务类型进行分发
读取陈宫
加锁任务,防止取消其他任务
存在
清理当前任务列表
添加证书
仅执行一次
默认
delete
从日志中查询任务信息
新建端口服务
获取主机的rpc连接
是否还有父任务
task:+taskId:任务的信息
续期协程
任务是否加锁
轮训
循环执行
task:主任务ID:任务的类型:运行任务IDstatus:任务状态TsWait
task:主任务ID:任务的类型:运行任务IDstatus:任务状态TsFinish
任务是否存在
task:主任务ID:任务的类型:运行任务IDstatus:任务状态TsCancel
日志存储协程
初始化日志配置
关闭rpc服务
存储任务结果
添加父任务到任务列表
任务循环触发器
task:主任务ID:任务的类型:运行任务IDstatus:任务状态taskresp
\"task:\" + taskId :[task:主任务ID:任务的类型:运行任务ID] 所有子任务列表task:主任务ID:任务的类型:运行任务IDstatus:任务状态task:主任务ID:任务的类型:运行任务IDresp:任务返回task:主任务ID:任务的类型:运行任务IDreallog:任务真是日志
查询所有任务
是否RPC端口不可达
查询正在运行任务信息
释放锁
监听事件队列
查询任务状态
rpc服务协程
\"task:\" + taskId :[task:主任务ID:任务的类型:运行任务ID] 所有子任务列表
执行任务协程
初始化数据库查询超时上下文
取消所有未运行和正在运行的任务
是否是EOF
设置日志结构体
http服务协程
更爱任务缓存错误信息
中断信号
初始化告警变量及通道
设置并行数为父任务数量
缓存任务成功
串行进行信息发送
添加rpc服务到多路复用
初始化调度缓存
端口空闲
下一个主机
注册http路由
随机
证书是否存在
整合报警信息
事件监听及处理
task:主任务ID:任务的类型:运行任务IDresp:任务返回
获取端口占用信息
是否需要发送
设置时间为30s
执行任务
设置并发数为1
中断监听
初始化数据库连接
DB中查询任务状态
清理任务任务信息
初始化配置文件
调度任务缓存中查询任务
监听中断信号
证书认证
添加主任务到任务列表
循环所有任务
解析报错
是否还有子任务
0 条评论
下一页