zoukankan      html  css  js  c++  java
  • 对于任务调度我自己的想法3

    假设一个工作任务分为四个级别
    Project(xxxProject)
    Stage(BUILD SIT UAT PROD)
    Job(build check deploy )
    Task(ant maven sonar)

    1. 触发动作时 记录一条 ProjectRequest(可用队列) over
    2. 收到ProjectRequest 1 2可 并作一步 不需要队列 则创建一个ProjectRecord 并依次将其对应的StageRecord JobRecord TaskRecord的信息都创建并记录到数据库中去 over
    3. 轮询Project
      3.1 首先检查执中行的ProjectRecord(根据业务规则 一般按照层级进行)
      3.1.1 检查是否有满足条件可以运行的Task 有则运行 此处需要明确的业务规则
      3.1.2 检查是否可以转换为为失败或成功状态 如可以,该ProjectRecord就不会再被执行
      3.2 检查是否有待执行的ProjectRecord 有则从将该Project的第一个待执行的Task下发
    4. 收到TaskRecord 执行Task并且将过程及结果信息记录到TaskRecord中去

    问题:
    各步骤之间 产生文件等如何共享(如果在同一个机器上执行比较容易 不在同一机器上则需要一些方法来解决 可以考虑存储到一个共享文件系统中,建议共享文件系统单独搭建。以便未来扩展空间

  • 相关阅读:
    c++之单链表
    c++之变量的生存期及可见性
    c++之结构体-结构数组排序
    c++之递归函数
    c++之指针练习
    C++之面向对象之构造函数和拷贝构造方法,以及析构方法
    C++之命名空间
    C++之面向对象之对象的使用
    Hadoop RPC实现
    BP(商业计划书写)
  • 原文地址:https://www.cnblogs.com/laoniu85/p/5128872.html
Copyright © 2011-2022 走看看