关于homework,你知道哪些?
homework scheduler 系统
①这个 homework scheduler 是什么?
答案很简单,任务调度系统。
②homework的组成有哪些?
- Resource Server --是资源服务器,用来存放未加工的原始数据文件。
- Homework Scheduler --是调度服务器,他负责生成任务,分配任务,检查任务完成结果,维护任务状态。
- Workers --是工作进程,可能是分布式的处于各个系统上的工作处理进程。
③任务配置存储在什么地方?
整个系统的任务配置存储在数据库中,涉及的表结构如下所示。
任务模板主表db_homework.t_work_tpl
| 字段 | 类型 | 释义 |
| id | INT | 任务模板id |
| name | VARCHAR(255) | 任务名称模板 |
| type | INT | 任务模板类型(1 - 每天例行,2 - 每小时例行) |
| work_type | INT | combine子任务的任务处理类型 |
| priority | INT | 任务优先级 |
| result | VARCHAR(255) | 任务结果存放目录 |
| status | INT | 任务模板状态(0 - 有效,1 - 无效) |
| timeout | INT | combine任务的超时时间 |
| must_after | CHAR(8) | 必须在该点后执行 |
| last_gen_time | TIMESTAMP | 上一次生成任务的时间 |
| begin_time | TIMESTAMP | 该类任务起始的时间 |
| log_time | TIMESTAMP | 录入时间 |
子任务模板表db_homework.t_task_tpl
| 字段 | 类型 | 释义 |
| id | INT | 子任务模板id |
| type | INT | 子任务类型 |
| work_tpl_id | INT | 对应主任务模板id |
| resource | VARCHAR(255) | 任务资源对应路径模板 |
| status | INT | 子任务模板状态(0 - 有效,1 - 无效) |
| timeout | INT | 子任务超时时间(单位:秒) |
| log_time | TIMESTAMP | 录入时间 |
任务主表db_homework.t_work
| 字段 | 类型 | 释义 |
| id | INT | 任务id |
| name | VARCHAR(255) | 任务名称 |
| type | INT | combine子任务的任务类型 |
| work_tpl_id | INT | 对应主任务模板的id |
| priority | INT | 任务优先级 |
| result | VARCHAR(255) | 处理结果存放位置 |
| status | INT | 任务状态(0 - 有效,1 - 无效) |
| timeout | INT | combine子任务的超时时间 |
| must_after | TIMESTAMP | 任务必须在该点后开始执行 |
| log_time | TIMESTAMP | 录入时间 |
子任务表db_homework.t_task
| 字段 | 类型 | 释义 |
| id | INT | 子任务id |
| task_tpl_id | INT | 子任务模板id |
| worker_name | VARCHAR(32) | 接受该任务的worker的标识名 |
| work_id | INT | 对应的主任务的id |
| type | INT | 子任务处理类型 |
| resource | VARCHAR(255) | 处理资源位置路径 |
| result | VARCHAR(255) | 任务结果存放路径 |
| status | INT | 任务状态(0 - 可用,1 - 已被接,2 - 完成) |
| timeout | INT | 子任务的超时时间 |
| must_after | TIMESTAMP | 该任务必须在该时刻后执行 |
| accept_time | TIMESTAMP | 任务被接的时间 |
| log_time | TIMESTAMP | 任务录入时间 |
| finish_time | TIMESTAMP | 完成时间 |
浙公网安备 33010602011771号