异步任务调度
通过 Celery 将耗时的 CPD 模拟任务推送到后台 Worker,防止长时间的数值计算阻塞 Web 请求。
后端基于 Python 3.11+ 构建,核心框架采用 Flask(视具体实现而定)。为了支撑高耗时的煤热解动力学计算,架构采用了计算密型任务异步化的设计方案,通过 Celery 与 Redis 实现任务队列管理。
异步任务调度
通过 Celery 将耗时的 CPD 模拟任务推送到后台 Worker,防止长时间的数值计算阻塞 Web 请求。
算法模块解耦
核心计算逻辑(Calculate_module)与业务接口层完全解耦,支持作为独立库进行测试与优化。
容器化部署
内置 Dockerfile,确保在不同计算环境下(服务器/本地)Python 依赖环境与编译环境的一致性。
后端遵循典型的服务层架构(Service-Oriented Architecture),确保逻辑复用与清晰的调用链:
Calculate_module/)这是系统的核心资产。它独立于 Web 框架存在,内部通常包含利用 Numba 或 Cython 加速的高性能计算代码。这种解耦设计允许科研人员在不了解 Web 开发的情况下,直接更新物理模型。
tasks/ & task/)task/ 接收前端参数,验证后生成 task_id 并将其推送至 Redis 队列。Calculate_module 进行模拟,并将结果存入 Redis 或数据库。api/ 提供状态轮询接口,实时反馈计算进度。database/)pip install -r requirements.txt 安装高性能计算库与 Web 依赖。python init_db.py 完成数据库表结构的初次同步。python run.pycelery -A app.tasks worker