【程序设计】定时任务调度平台需求说明书
1. 定时任务调度平台需求说明书
1.1. 概述
本文档详细的描述了定时任务的需求,明确了定时任务的开发内容。供需求人员、设计人员、开发人员、测试人员参考。
定时任务包含任务管理、任务执行、任务预警、日志查询、回调接口、预警服务六部分内容。
1.2. 任务管理
1.2.1. 任务分类
任务分为两种类型:
任务一:周期性的执行业务处理任务
我们采用定时时间、前置任务想结合的方式解决任务的串并行需求。任务执行流程:
- 按照设定的时间启动定时任务;
- 当前任务执行前需要检查该任务是否存在前置任务;
- 若存在前置任务则检查前置任务是否执行成功,若执行成功则继续执行本次任务,若执行失败则停止执行本次任务,并标记为执行我失败,执行日志中描述失败原因为前置任务执行失败;
- 若不存在前置任务则直接执行本次任务;
- 业务系统执行完成任务后,回调定时任务接口,通知任务执行结果。
任务二:启动某个任务,定期监控该任务的运行状态
启动某个任务,定期监控该任务的运行状态,若监控到任务停止,记录任务日志,报警并重新启动任务;若任务正常运行则,只记录任务日志。
1.2.2. 新增任务
新增定时任务,包含任务编号、任务名称、任务描述、定时表达式、获取操作记录数URL、任务执行URL、任务执行效率、预警秒数。
- 任务编号为系统自动生成;
- 通过表达式编辑器简单灵活的设置定时表达式;
- 任务执行效率=(获取到的记录数/实际的执行时间【秒】),多次累加求平均值;
- 预估执行时间=根据本次获取到的记录数/任务执行效率,如果预估执行时间大于预警秒数,则发出短信、邮件报警;
- 新增任务默认为停用状态。
1.2.3. 修改任务
在任务停用的状态下可以修改任务。
1.2.4. 查看任务
查看任务详情。
1.2.5. 删除任务
在任务停用的状态下可以删除任务,非物理删除,使用删除标记。
1.2.6. 查询任务
根据任务编号、任务名称、启停状态查询任务。
1.2.7. 设置前置任务
在任务停用的状态下,设置当前任务的前置任务,为一对多关系。
1.2.8. 启用、批量启用任务
将任务状态设置为启用状态。
1.2.9. 停用、批量停用任务
将任务状态设置为停用状态。
1.3. 任务执行
1.3.1. 手动执行
在界面中提供手工执行的按钮,操作人员手工点击按钮执行该任务,在任务日志中标示此次任务的执行方式为手工执行。
1.3.2. 自动执行
根据定时规则自动执行该任务。
1.4. 任务预警
1.4.1. 预警人员配置
添加预警人员,包含姓名、手机号、邮箱。
1.4.2. 预估时间预警
预估执行时间=根据本次获取到的记录数/任务执行效率,如果预估执行时间大于预警秒数,则发出短信、邮件报警。
1.4.3. 实际执行时间报警
实际执行时间大于预警秒数,则发出短信、邮件报警。
1.4.4. 任务执行失败报警
当某个任务执行失败,则发出短信、邮件报警。
1.5. 日志查询
1.5.1. 任务日志查询
查询每次任务的执行方式、监听时间、监听状态、要操作的记录数、当前已经操作的记录数、处理进度(%)、执行时间、执行状态等。
1.5.2. 任务执行进度日志查询
查询【执行进度回调接口】的日志。包括日志编号、创建时间、当前已处理的记录数。
1.6. 回调接口
1.6.1. 处理结果回调接口
将当前任务的执行结果通知给定时服务。处理结果为:1-处理成功,2-处理失败
1.6.2. 执行进度回调接口
将当前任务的执行进度通知给定时服务。定时服务用来展示任务处理进度,回调粒度由要适中,建议5%,10%,15%,20%……100%。
1.7. 预警服务
1.7.1. 短信服务
提供短信服务接口,将预警信息发送给响应的用户。
1.7.2. 短信查询
查询发送的短信信息。
1.7.3. 邮件服务
提供邮件服务接口,将预警信息发送给响应的用户。
1.7.4. 邮件查询
查询发送的邮件信息。
【程序设计】定时任务调度平台需求说明书相关推荐
- 分布式定时任务调度平台TBSchedule技术介绍
1. 概述 TBSchedule是阿里开发的一款分布式任务调度平台,旨在将调度作业从业务系统中分离出来,降低或者是消除和业务系统的耦合度,进行高效异步任务处理,目前被广泛应用在阿里巴巴.淘宝.支付宝. ...
- 分布式定时任务调度平台Elastic-Job技术详解
在我们的项目当中,使用定时任务是避免不了的,我们在部署定时任务时,通常只部署一台机器.部署多台机器时,同一个任务会执行多次.比如给用户发送邮件定时任务,每天定时的给用户下发邮件.如果部署了多台,同一个 ...
- xxl-job任务调度平台
xxl-job是一个著名的开源定时任务调度平台.下面笔者简单地介绍下xxl-job的学习使用. 1.下载xxl-job源码 git clone https://gitee.com/xuxueli032 ...
- 深度解析 | 基于DAG的分布式任务调度平台:Maat
阿里妹导读:搜索中台建设过程中,单个系统不再能满足复杂业务的需求,更多时候需要多个子系统互相协作,异步地按照指定流程完成一项特定的功能.例如一个应用的上线流程依次需要调用配置同步模块.监控模块.资源更 ...
- 轻量级分布式任务调度平台 XXL-JOB
From:https://www.cnblogs.com/xuxueli/p/5021979.html github 地址 及 中文文档地址:https://github.com/xuxueli/xx ...
- 深度解析 | 基于DAG的分布式任务调度平台:Maat 1
背景 什么是Maat? Maat是一个基于开源项目Airflow的流程调度系统,它支持用户自定义地组装流程节点,流程可以在用户指定的时间触发(支持crontab格式),或由用户手动触发. Maat的所 ...
- python dag调度系统开发_基于DAG的分布式任务调度平台-Maat
背景 什么是Maat Maat是一个基于开源项目Airflow的流程调度系统,它支持用户自定义地组装流程节点,流程可以在用户指定的时间触发(支持crontab格式),或由用户手动触发. Maat的所有 ...
- 分布式任务调度平台XXL-JOB一
一.分布式任务调度概述 什么是任务调度平台 任务调度是指基于给定的时间点,给定的时间间隔又或者给定执行次数自动的执行任务.我们可以思考一下在以下场景中,我们应该怎么实现: 支付系统每天凌晨 1 点,进 ...
- 使用IDEA搭建XXL-JOB分布式任务调度平台
1.什么是分布式调度平台 什么是任务调度? 考虑以下应用场景: 某电商系统需要在每天上午10点,下午3点,晚上8点发放一批优惠券. 某银行系统需要在信用卡到期还款日的前三天进行短信提醒. 某财务系统需 ...
最新文章
- 【Netty】大白话 Netty 核心组件分析
- RT-Thread智能车培训计划-2021
- SSH免密码登录命令无法生效?直接复制粘贴也可以!
- [日常工作]WorkStation 使用端口转发的方式使用宿主机IP地址提供服务
- ubuntu16.04下面的redis desktop manger的使用
- OGNL与Struts2标签展示页面(一)
- boundService-AIDL
- Java爬虫实战(一):抓取一个网站上的全部链接
- @Value取值为NULL的解决方案
- 【动态规划】01背包:P1049 装箱问题
- Python源码深度解析—对象的创建
- python之---子类父类属性之间的关系
- Devart Excel Addins 2.5.660 插件 Crack
- 山东理工大学ACM平台题答案 1235 计算球体积
- 训练集和验证集的划分
- 大部分人朋友圈仅三天可见的原因,竟然是……
- 怎么取消微信送票服务器,微信抢火车票怎么取消?有什么要注意的吗?
- 《Unity开发实战》——2.4节自定义镜头光晕效果
- 一次解决IDEA所有乱码情况
- 学生管理系统V1.0
热门文章
- 云效·Insight(效能洞察)一款面向企业研发管理层的研发效能数字化度量服务
- 【读书笔记】《结构思考力》——李忠秋
- xshell7双击没有反应的解决办法
- 射频毫米波芯片设计11:基于奇偶模法分析设计射频微波Wilkinson功分器
- 删除一个字符串中指定位置上的字符
- 麦马计算机科学 UBC工程,接连被拒不放弃,终等来麦马和滑大录取
- 面向对象程序设计c++版董正言张聪课本课后习题答案第四章
- QT——连接USB摄像头
- 七年级计算机考试知识点,七年级语文重点笔记 必考知识
- 九龙证券|基金独门重仓股揭秘,多只超级大牛股浮现