任务统计系统
项目说明
这是一个基于 Flask 的任务统计系统,用于展示和分析任务数据。
功能特点
- 任务完成情况统计
- 项目分布分析
- 人员工作量统计
- 实时数据更新
安装与配置
环境要求
- Python 3.7+
- PostgreSQL 10+
- Redis
本地运行安装步骤
- 克隆代码库
- 安装依赖:
pip install -r requirements.txt3、创建一个.env文件,并设置环境变量 - 初始化数据库:
python manage.py init_db - 启动应用:
python app.py
Docker 部署安装步骤
确保已安装 Docker 和 Docker Compose。
在项目根目录下,使用以下命令构建 Docker 镜像:
bashdocker-compose build参考
.env.template文件,创建.env文件,并设置正确的参数,放置在项目根目录下和config目录下。使用docker-compose启动应用,挂载正确的目录:
bashdocker-compose up
配置文件
在运行 Docker 容器时,您需要创建一个 .env 文件,以便应用能够读取配置。请确保在项目根目录下创建 .env 文件,并在其中设置必要的环境变量。
例如,您可以使用以下命令来创建 .env 文件:
bash
touch .env然后根据需要添加环境变量配置。
日志文件夹
在运行 Docker 容器时,您还可以挂载本地的 logs 文件夹,以便应用能够记录日志。请确保在本地创建一个 logs 文件夹。
例如,您可以使用以下命令来挂载日志文件夹:
bash
docker run -v /path/to/your/logs:/app/logs your_image_name环境变量配置说明
在运行应用之前,您需要设置一些环境变量。以下是环境变量及其说明:
数据库配置
DB_USER: 数据库用户名。DB_PASSWORD: 数据库密码。DB_NAME: 数据库名称。DB_HOST: 数据库主机地址,通常为localhost,docker部署使用postgres。DB_PORT: 数据库端口,默认 PostgreSQL 端口为5432。
Redis 配置
REDIS_HOST: Redis 服务器主机地址,通常为localhost,docker部署使用redis。REDIS_PORT: Redis 端口,默认为6379。CACHE_TIMEOUT: 缓存超时时间,单位为秒。
Teambition 配置
SECRET_KEY: 用于加密的密钥。APP_ID: Teambition 应用的 ID。X_OPERATOR_ID: 操作员 ID。ORG_ID: 组织 ID。
调度器配置
UPDATE_INTERVAL: TB 任务元数据抓取时间,默认每30分钟。DAILY_UPDATE_TIME: TB 组员信息、流程信息等更新时间,默认每天凌晨2点。UPDATE_STATS_INTERVAL: 网页显示缓存数据更新时间,默认每5分钟(目前不用,拉取完数据后自动更新)。
项目 ID 配置
PROJECT_IDS: 项目 ID 的字典配置,包含多个项目的 ID。
项目别名配置
PROJECT_ALIASES: 项目别名的字典配置,包含多个项目的别名。
任务状态显示配置
STATUS_ORDER: 任务状态的显示顺序,包含多个状态。
状态黑名单
STATUS_BLACKLIST: 不显示的任务状态,包含多个状态。
请确保在启动应用之前设置所有必需的环境变量。
数据库初始化
系统提供了两种数据库初始化方式:
自动初始化
应用在启动时会自动检查数据库是否存在,如果不存在会自动创建数据库和所需的表。
手动初始化
可以使用管理工具手动初始化数据库:
bash
# 初始化数据库
python manage.py init_db
# 优化数据库
python manage.py optimize_db数据更新
系统每30分钟自动从Teambition获取最新数据,无需手动干预。