1 | # 在线数据维护任务管理
|
2 |
|
3 | ## 概述
|
4 |
|
5 | gamecloud 提供了在线数据维护任务的管理机制,可以实现如下业务流程:
|
6 | 1. 编写数据维护任务,存储于单一文件
|
7 | 2. 执行任务,自动更新已执行任务列表
|
8 |
|
9 | ## 数据维护文件
|
10 |
|
11 | - 一个维护任务是由单个文件规范的
|
12 | - 每个维护任务都有一个名称标识,并通过底层机制确保只能运行一次
|
13 | - 如果确定需要重新运行,需要手工修改config/maintain.json中相应标识对应的布尔值(执行前为false,执行后为true)
|
14 |
|
15 | ## 目录结构
|
16 |
|
17 | 如下文件保存所有已执行任务列表,并由系统自动维护,以判断各个任务执行与否:
|
18 | /config/maintain.json
|
19 |
|
20 | 如下目录存放所有数据维护任务文件:
|
21 | /config/maintain/
|
22 |
|
23 | ## 编写数据维护任务
|
24 |
|
25 | 每个数据维护任务都是一个 baseTask 的子类,单独存储于一个数据维护文件中 ( 参见 /config/maintain/example.js ):
|
26 |
|
27 | ```js
|
28 | class task extends baseTask {
|
29 | //...
|
30 | }
|
31 | exports = module.exports = task;
|
32 | ```
|
33 |
|
34 | ## 运行数据维护任务
|
35 |
|
36 | ```bash
|
37 | npm run maintain
|
38 | ```
|
39 |
|
40 | 数据维护任务的运行,并不依赖平台的运行,而更像是独立运行了一个数据库存储过程 |
\ | No newline at end of file |