# qc-dgp

#### 介绍
Data grabbing platform(DGP)数据采集平台

#### 文档结构

* `dgp`为代码目录,`gpd/tests`为测试代码目录
* `docs`为文档目录

#### 安装教程

* 确保已安装Python3
* 安装项目依赖,执行 ``

#### 特性

* 数据库使用`dbutils`连接池,并独立配置mysql的配置文件`db_config.ini`
* 平台订单数据爬取采用线程池子线程爬取,大大提升爬取速度
* 平台账号配置(`conf/account`)使用csv配置文件存储,方便修改同步,并支持直接修改后,下次获取即可生效,无需重启脚本

#### 后续优化点

- [x] 数据库连接需要单独配置
- [x] 账号,token配置也需要独立成配置文件,方便实时获取最新的数据,而不需要重启脚本
- [x] 多线程,异步获取订单数据,目前获取数据都是单线程,太慢了,掌中云2020-09-25的订单数据共12106条,执行时间为529秒,需要特别优化。
- [ ] 业务报警,钉钉提醒,邮件?
- [x] 异常处理
- [ ] 日志输出
- [ ] 全局常量配置

#### 使用说明

* 修改数据库账号配置
* 检查account和token配置
* 执行相关脚本:`nohup python3 -u get_data_hourly.py >output_get_data_hourly_202009251042.log 2>&1 &`
* 执行相关脚本:`nohup python3 -u check_order_new.py >check_order_new_202009300217.log 2>&1 &`

#### 参与贡献

* Fork 本仓库,拉取的是dev分支
* 直接在dev分支上开发,添加新的依赖后请执行 `pip freeze > requirements.txt` 或 `pipreqs --force /qc-dgp`
* 格式化代码,提交代码
* 新建 Pull Request