# 工具功能说明
## 一、功能问题
### 1，同步状态
- 监控本地接收和发送进程的状态，发送心跳到接口。
### 2，收集信息并展示（暂时忽略）

- 本地信息收集，通过接口展示具体的参数指令（简单一点，可以尝试先收集服务器的cpu，memory，disk，network信息）
  
### 3，接收指令，执行指令并返回状态
- 从队列中接收任务并解析。
  - 接收任务异常，返回任务接收异常状态码
  - 解析任务异常，返回解析异常状态码
  - 解析任务正常，下一步进行执行任务
- 执行任务
  - 一次性的指令（timeout，gitlab，path，command，envfile。。。）
    - 任务正常：返回正常状态码并返回正常返回信息
    - 任务异常：返回异常状态码并返回异常信息 
    - 任务超时：返回任务超时状态码
  - 定时任务指令（多个一次性的指令）：
  	- 任务堆积防止多个任务并行：任务锁，同一种类型的任务，上一次任务结束前，新的任务丢弃，并返回信息和任务运行中状态码。
		
  - ps：状态码优先级问题：解析异常>任务异常>超时异常>正常>运行中

## 二，环境问题
- shell，python，java
  - shell 环境变量读取，指令运行。
  - python 各种packages安装，worker安装时做安装。
  - java （暂时忽略）

## 三、更新问题
- 代码的更新，直接更新版本 
- 包的更新，版本不变，更新运行环境的packages 

## 四、开发说明
### 1，使用[click](https://github.com/pallets/click)命令行工具做开发
### 2，
