Dispather - 任务调度系统方案设计

1. 概述

计算平台的一个核心功能,是任务调度,包含任务之间的依赖处理、任务之间传参、任务的执行等。

本文重点分析和介绍任务调度的需求总结、数据库设计与架构设计。

2. 需求总结

2.1. 术语介绍

术语

  • Pipeline,即管线,这里指实际的药物研发管线,例如plk1、zinc
  • Job,或Workflow,即任务流,是一系列Task的有向无环图,包含所属Pipeline、创建人、描述、定时配置、hook、最大运行实例数等
  • Task,即任务,是执行某一个特定任务的参数集合,包含任务类型、任务配置、任务输入、任务输出等
  • Job Instance,指任务流实例。每运行一次Job,则产生一个Job Instance
  • Task Instance,指任务实例。每运行一次Task,则产生一个Task Instance

实体之间关系

  • Pipeline -> Job, 1 -> n
  • Job -> Task, 1 -> n
  • Job -> Job Instance, 1 -> n
  • Task -> Task Instance, 1 -> n
  • Job Instance -> Task Instance, 1 -> n

实体的操作

  • 对于Pipeline,支持修改、增加、删除(没有其相关联的Job时)、废弃、完结
  • 对于Job,支持修改、增加、删除(将删除其相关联的所有Job Instance)、锁定(锁定后不能修改其配置)、解锁、克隆
  • 对于Job Instance,支持暂停、启动、终止、重试
  • 对于Task Instance,支持强制终止

2.2. 需求与功能描述

2.2.1. Job的运行方法支持多种

  • a.【完整Job】自动运行,由定时器触发,例如每天晚上11点开始
  • b.【完整Job】手动运行,由用户手动触发,例如web ui或api触发
  • c.【部分Job】手动运行单个Task,不包含该Task的下游Task
  • d.【部分Job】手动运行单个Task,包含该Task的下游Task

方法c和d,需要考虑起始Task任务输入
可以默认其前置Task最近一次Task Instance任务输出
也可以将其前置Task所有Task Instance任务输出按照时间罗列出来,由用户选择其中一个或多个
如果前置Task不存在Task Instance,则提示warning,由用户确定是否坚持运行
另外,方法d的起始Task可能不止一个,要选择一个最小的Subgraph

2.2.2. 修改Task的配置

支持修改、删除或增加Task,修改Task包含Task依赖、Task配置参数等。

Job的Task配置

  • Job包含的Task配置,随时可以修改、增加或删除,没有限制

Job Instance的Task配置

  • 创建Job Instance时,会复制一份Job当前的Task配置,作为其执行计划
  • 所以,支持修改某个未运行的Task参数、输入、输出,暂不支持修改任务依赖,也不支持新增或删除

2.2.3. 日志查看

  • 调度日志,按照Job Instance分为单独文件,用于查看和分析执行情况
  • 任务执行日志,根据不同的任务类型,由任务自身存储

2.2.4. 任务类型

  • docker container
  • docker swarm service
  • slurm task

3. 数据库设计

4. 架构设计

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,393评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,790评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,391评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,703评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,613评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,003评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,507评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,158评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,300评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,256评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,274评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,984评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,569评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,662评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,899评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,268评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,840评论 2 339

推荐阅读更多精彩内容