此项目是一个基于Django2(Python3)的任务调度平台,采用MVC设计模式,主要分为业务逻辑层和表现层。业务逻辑层分为三个模块:项目管理、任务调度和后台管理。项目管理模块,集中管理各个项目中的爬虫(基于Scrapy和JAVA)、数据导入程序(Python脚本)和子项目中的存储过程(SQL Server脚本);任务调度模块,采用Celery异步调用爬虫、数据导入程序和存储过程,实现数据“爬取——导入——处理”任务队列的连续执行、批量执行、定时执行(基于APScheduler),分布式调用不同主机中的存储过程处理数据;后台管理模块,采用XAdmin可视化管理平台中的后台数据。表现层,基于BootStrap+JQuery+Hplus前端模板,采用WebSocket与Ajax结合的方式动态更新任务状态信息,及时捕捉错误信息,实时监控任务进度。
部署环境:原本部署在AWS EC2(Win Server2012)+ RDS(SQL Server2017),后迁移到本地CentOS7 + MySQL5.7