背景:
Apscheduler框架中,每个任务的配置信息需要写在代码中。
scheduler.add_job(func=func, id=job_id, trigger=trigger, second=interval, jitter=jitter)
以这段添加任务的代码举例:
1、每一个任务的配置参数需要写在代码中,修改很麻烦,而且容易写错,并且每次需要提交代码,操作很重。
2、func字段是class module,无法通过常规手段从数据库或配置中心读取该信息。
apscheduler自身的数据库引擎也做过尝试,感觉并不能满足方便配置管理的目的。
解决什么问题:
代码中不需要配置任何一个任务的参数,任务参数实现100%数据库化,从而实现任务配置页面化。
环境:python3.7 + apscheduler3.6.3
效果:
解决思路:
- 解决func为module类型的问题,将该信息转换为可配置的变量,方便配置在数据库中。