# schedulerTask **Repository Path**: sliencekk/scheduler-task ## Basic Information - **Project Name**: schedulerTask - **Description**: schedulerTask - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-11-09 - **Last Updated**: 2023-11-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 后端 ### 依赖 ```bash pip install requirements.txt ``` ### 修改settings.py ``` 修改端口: backend/config 中的port 修改celery配置: backend/config 中的 broker_url, result_backend_url ``` ### 启动 ```bash cd backend python run.py ``` # celery ```bash cd backend celery -A scheduler_task.celery_app.celery_app worker -l INFO ``` # 前端 ## 设置api端口 front/config/index.js ```js ... '/api': { target: 'http://127.0.0.1:11111', // 你请求的第三方接口 } ``` ## 启动 ```bash npm install npm run dev ``` ## 注意 上传的python脚本写引入需要使用项目相对路径 比如 ```python from scheduler_task.celely_dummy import initObs, stopObs, point_acqu from scheduler_task.calculate_solar_info import IsinScheduleTime ``` ## 逻辑 ```python 1. 上传后 使用ast.parse函数解析python文件, 校验语法是否正确 并获取函数名, 存数据库file表中 2. 添加任务: 选择文件和函数 选择是否执行, 存task表 3. 如果选择执行: 添加apsshceuler任务, trigger参数传设置的定时器. 4. 可以在上传的函数里面如果写调用celery的代码 5. 调用文件内函数的逻辑: function_utils.py 中 使用 importlib.util.spec_from_file_location("module.name", filename) ```