美文网首页
任务管理

任务管理

作者: 地里蒜头 | 来源:发表于2017-05-24 15:45 被阅读0次

背景

系统存在定时任务的执行。如:第三方系统数据获取、系统初始化、数据转储等。任务管理至少具备下面能力

  • 灵活的执行策略(周期、定时等)
  • 页面配置执行策略
  • 手动页面触发
  • 能够查看任务执行的详细信息

设计

配置文件加载原子任务,数据库存储任务执行的状态信息。由Quartz实现任务的执行策略,可同步或异步并发执行任务

  • 配置文件
名称 描述 备注
taskName 任务名称 -
exeClass 执行实体类 实现任务的包名类名
nextTask 后置任务 链式执行时,下个任务的名称
preTask 前置任务 树状任务,父亲任务名称
  • DB
名称 描述 备注
taskName 任务名称 -
status 执行状态 -
strategy 执行策略 -
exeTime 最后一次执行时间 -
exeResult 最后一次执行结果 -
  • 关键类设计
    1.SysJob.java
    由quartz拉起的job方法定义
    2.AtomTask.java(implements Runnable)(abstract)
private String taskName;
private String exeClass;
private String nextTask;
private String preTask;
private String description;
private StatusEnum taskStatus;
private String strategy;
//可新起线程异步执行
public void run()
{
  execute()
 }
//同步任务执行时,调用该方法
public abstract boolean execute();
//钩子方法,可用来做通用记录日志。若具体任务有特殊需求,可覆盖实现该类
public void recordLog()
{}

3.TaskMgt
单例实现

private Map<String, AtomTask> taskMap;
private Map<String, List<AtomTask>> treeTask;
public boolean exeTaskByName(taskName, isSyn=true);  //单个任务执行
public boolean exeTaskChain(startTaskName, isSyn=true); //链式任务执行
public boolean exeTaskTree(rootTaskName, isSyn=true); //树状任务执行
  • 任务分类
    1.数据同步
    2.数据汇聚(按天打点、临时数据产生等)

相关文章

  • 任务管理

    最近关于任务管理思考得比较多,所谓任务,其实是一个动作做不完的事情。 如果一个动作完不成,那么就牵扯到任务的分解和...

  • 任务管理

    Task List ©Shichun Liu (已完成)产后体重,目标体重 上传,下载个人信息增加 (已完成)通...

  • 任务管理

    背景 系统存在定时任务的执行。如:第三方系统数据获取、系统初始化、数据转储等。任务管理至少具备下面能力: 灵活的执...

  • 任务管理

    目标是我们的最高级,计划是目标的下级,任务是计划的下级.任务是完成的最小单位元,我们要想把目标可视化并上升到可执行...

  • 任务管理

    任务是计划的下级,而计划是目标的下级。所有的任务都是围绕着计划的完成。计划会造的目标去制定。 三只青蛙工作法。就每...

  • 任务管理

  • 任务管理

    睡得好精神状态就好,精神状态好身体感觉也好,身心都好,工作状态才好,这样就能更好地完成工作任务。工作上的任务和生活...

  • 任务管理

    让自己的计划与行动清晰可见。 先把完成一件总任务所需要的时间花费统计出来,再平均分配到每一天中,看自己每一天是否完...

  • 基于OC的简易任务管理器

    任务管理器(TaskManager) 任务管理 为什么需要任务管理 实现思路 部分逻辑代码 Task 延伸 为什么...

  • 任务管理?精力管理。

    今天是一起共度《把时间当作朋友》第四天,阅读内容第三章“任务管理”1-5节,时间简短来谈一下我的五点小收获: 一、...

网友评论

      本文标题:任务管理

      本文链接:https://www.haomeiwen.com/subject/rcqoxxtx.html