这是一个 fastapi 结合 apscheduler 做的一个动态添加定时任务的web
注意: 修改 main.py 或者 main_rpc_server.py 的 mysql连接
创建数据库
修改DATABASE_URL = f'mysql+pymysql://root:password@localhost:3306/dbname'
中的配置内容
获取项目
git clone https://github.com/libaibuaidufu/Fastapi-scheduler.git
1.本地启动:
-
启动 rpc-server.py
cd rpc_server python rpc-server.py
-
启动 main_rpc_server.py
python main_rpc_server.py
2.docker部署:
-
使用 docker-compose
docker-compose up -d
3.删除项目:
- 删除
docker-compose down
4.复制脚本、安装指定库及添加任务:
-
复制脚本到 rpc_server 容器里面
docker cp xx.py rpc-server:/usr/src/app/scheduler_script/
-
安装 脚本中使用到的 库
docker exec -it rpc_server pip install xxx
-
再到 web 中去添加任务 再启动任务后,查询有点慢。。。
- 存储配置到 mysql,并实现增删该查
- 实时修改运行中的任务
- 上传脚本 及查看脚本列表
- 分页
- 脚本下载,上传文件夹
- 加入 jobstore (原因 本来已经加入了 ,结果在执行我自己的一个脚本时,出现pickle 错误就暂时没有加入,可以自己在 aps_server.py 中配置)
- 配置脚本初始化参数 args,kwargs
- 脚本执行后,对脚本修改,再次执行可能无效。(原因可能是 第一次已经对脚本进行加载无法再次更新)
- 执行 class 类时,用函数在外面运行最好 ,类似 example_class.py
- 拷贝 rpc_server 里面的脚本 ,如果执行报错后,就算修改后再次执行也会出错 ,所以只能修改文件名称 再次 拷贝使用。