1. 定时任务调度平台需求说明书
1.1. 概述
本文档详细的描述了定时任务的需求,明确了定时任务的开发内容。供需求人员、设计人员、开发人员、测试人员参考。
定时任务包含任务管理、任务执行、任务预警、日志查询、回调接口、预警服务六部分内容。
1.2. 任务管理
1.2.1. 任务分类
任务分为两种类型:
任务一:周期性的执行业务处理任务
我们采用定时时间、前置任务想结合的方式解决任务的串并行需求。任务执行流程:

  1. 按照设定的时间启动定时任务;
  2. 当前任务执行前需要检查该任务是否存在前置任务;
  3. 若存在前置任务则检查前置任务是否执行成功,若执行成功则继续执行本次任务,若执行失败则停止执行本次任务,并标记为执行我失败,执行日志中描述失败原因为前置任务执行失败;
  4. 若不存在前置任务则直接执行本次任务;
  5. 业务系统执行完成任务后,回调定时任务接口,通知任务执行结果。

任务二:启动某个任务,定期监控该任务的运行状态
启动某个任务,定期监控该任务的运行状态,若监控到任务停止,记录任务日志,报警并重新启动任务;若任务正常运行则,只记录任务日志。
1.2.2. 新增任务
新增定时任务,包含任务编号、任务名称、任务描述、定时表达式、获取操作记录数URL、任务执行URL、任务执行效率、预警秒数。

  1. 任务编号为系统自动生成;
  2. 通过表达式编辑器简单灵活的设置定时表达式;
  3. 任务执行效率=(获取到的记录数/实际的执行时间【秒】),多次累加求平均值;
  4. 预估执行时间=根据本次获取到的记录数/任务执行效率,如果预估执行时间大于预警秒数,则发出短信、邮件报警;
  5. 新增任务默认为停用状态。

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. 邮件查询
查询发送的邮件信息。

【程序设计】定时任务调度平台需求说明书相关推荐

  1. 分布式定时任务调度平台TBSchedule技术介绍

    1. 概述 TBSchedule是阿里开发的一款分布式任务调度平台,旨在将调度作业从业务系统中分离出来,降低或者是消除和业务系统的耦合度,进行高效异步任务处理,目前被广泛应用在阿里巴巴.淘宝.支付宝. ...

  2. 分布式定时任务调度平台Elastic-Job技术详解

    在我们的项目当中,使用定时任务是避免不了的,我们在部署定时任务时,通常只部署一台机器.部署多台机器时,同一个任务会执行多次.比如给用户发送邮件定时任务,每天定时的给用户下发邮件.如果部署了多台,同一个 ...

  3. xxl-job任务调度平台

    xxl-job是一个著名的开源定时任务调度平台.下面笔者简单地介绍下xxl-job的学习使用. 1.下载xxl-job源码 git clone https://gitee.com/xuxueli032 ...

  4. 深度解析 | 基于DAG的分布式任务调度平台:Maat

    阿里妹导读:搜索中台建设过程中,单个系统不再能满足复杂业务的需求,更多时候需要多个子系统互相协作,异步地按照指定流程完成一项特定的功能.例如一个应用的上线流程依次需要调用配置同步模块.监控模块.资源更 ...

  5. 轻量级分布式任务调度平台 XXL-JOB

    From:https://www.cnblogs.com/xuxueli/p/5021979.html github 地址 及 中文文档地址:https://github.com/xuxueli/xx ...

  6. 深度解析 | 基于DAG的分布式任务调度平台:Maat 1

    背景 什么是Maat? Maat是一个基于开源项目Airflow的流程调度系统,它支持用户自定义地组装流程节点,流程可以在用户指定的时间触发(支持crontab格式),或由用户手动触发. Maat的所 ...

  7. python dag调度系统开发_基于DAG的分布式任务调度平台-Maat

    背景 什么是Maat Maat是一个基于开源项目Airflow的流程调度系统,它支持用户自定义地组装流程节点,流程可以在用户指定的时间触发(支持crontab格式),或由用户手动触发. Maat的所有 ...

  8. 分布式任务调度平台XXL-JOB一

    一.分布式任务调度概述 什么是任务调度平台 任务调度是指基于给定的时间点,给定的时间间隔又或者给定执行次数自动的执行任务.我们可以思考一下在以下场景中,我们应该怎么实现: 支付系统每天凌晨 1 点,进 ...

  9. 使用IDEA搭建XXL-JOB分布式任务调度平台

    1.什么是分布式调度平台 什么是任务调度? 考虑以下应用场景: 某电商系统需要在每天上午10点,下午3点,晚上8点发放一批优惠券. 某银行系统需要在信用卡到期还款日的前三天进行短信提醒. 某财务系统需 ...

最新文章

  1. 【Netty】大白话 Netty 核心组件分析
  2. RT-Thread智能车培训计划-2021
  3. SSH免密码登录命令无法生效?直接复制粘贴也可以!
  4. [日常工作]WorkStation 使用端口转发的方式使用宿主机IP地址提供服务
  5. ubuntu16.04下面的redis desktop manger的使用
  6. OGNL与Struts2标签展示页面(一)
  7. boundService-AIDL
  8. Java爬虫实战(一):抓取一个网站上的全部链接
  9. @Value取值为NULL的解决方案
  10. 【动态规划】01背包:P1049 装箱问题
  11. Python源码深度解析—对象的创建
  12. python之---子类父类属性之间的关系
  13. Devart Excel Addins 2.5.660 插件 Crack
  14. 山东理工大学ACM平台题答案 1235 计算球体积
  15. 训练集和验证集的划分
  16. 大部分人朋友圈仅三天可见的原因,竟然是……
  17. 怎么取消微信送票服务器,微信抢火车票怎么取消?有什么要注意的吗?
  18. 《Unity开发实战》——2.4节自定义镜头光晕效果
  19. 一次解决IDEA所有乱码情况
  20. 学生管理系统V1.0

热门文章

  1. 云效·Insight(效能洞察)一款面向企业研发管理层的研发效能数字化度量服务
  2. 【读书笔记】《结构思考力》——李忠秋
  3. xshell7双击没有反应的解决办法
  4. 射频毫米波芯片设计11:基于奇偶模法分析设计射频微波Wilkinson功分器
  5. 删除一个字符串中指定位置上的字符
  6. 麦马计算机科学 UBC工程,接连被拒不放弃,终等来麦马和滑大录取
  7. 面向对象程序设计c++版董正言张聪课本课后习题答案第四章
  8. QT——连接USB摄像头
  9. 七年级计算机考试知识点,七年级语文重点笔记 必考知识
  10. 九龙证券|基金独门重仓股揭秘,多只超级大牛股浮现