Skip to content

AnsGoo/cronJob

Repository files navigation

CronJob

本项目采用FastAPI + APScheduler + ZeroRPC开发轻量级定时调度平台

特点

  • 完全兼容Crontab
  • 支持秒级定时任务
  • 作业任务可搜索、暂停、编辑、删除
  • 作业任务持久化存储、三种不同触发器类型作业动态添加
  • 采用RPC方式规避了APScheduler在多进程部署的情况下,任务被多次调度的问题
  • 提供图形化的管理页面

TODO

使用

  • 安装虚拟环境管理器
pip install pipenv
  • 获取代码并激活虚拟环境
git clone https://github.com/AnsGoo/cronJob.git pipenv shell 
  • 安装依赖
pipenv sync 
  • 运行
// 开发 pipenv run dev --host=0.0.0.0 --port=8000 --reload pipenv run rpc // 生产 pipenv run server--workers=4 --host=0.0.0.0 --port=8000 pipenv run rpc 
  • 部署

制作镜像

docker build cronjob:v1 .

运行

docker run -p 8000:8000 -p 4242:4242 --name cronjob -it cronjob:v1
  • 开发任务

job/tasks.pyTask对象中自定义以task开头的任务即可在调度方法中调取该任务,例如:

class Task(BaseTask): def task_test(self) -> None: '''  测试任务  :return:  ''' print('test')

License

This project is licensed under the terms of the MIT license.

About

本项目采用FastAPI + APScheduler + ZeroRPC开发轻量级定时调度平台

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors