描述
早期我们使用 crontab 来执行定时任务, 后续考虑到定时任务变多, 并且服务也逐渐拆成了微服务, 上百个服务,其中有很多服务依赖定时任务(关于架构这块存在的问题,不做讨论), 后基于 apscheduler 实现了一套 api , 还套了个单页应用,以供开发使用。
问题
随着任务变多, 很多秒级任务执行, apscheduler 较不稳定。
值得一提的是, 在 jobstore 这块查询多了也偶有问题。
from apscheduler.executors.pool import ProcessPoolExecutor
from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore
from apscheduler.schedulers.background import BackgroundScheduler
早期使用时有稍微走读下源码, 实际上对 apscheduler 的使用也不能算非常熟悉。 算是勉强造了个轮子吧。
期望
想通过本帖知道各位同学是怎么管理定时任务的, 我在设计时是支持了几种方法, 如下:
- 命令执行(hcmd)
- http get(hget)
- http post(hpost)
然后支持一个 echo 的回调, 整体来讲, 比较简单,如果说有重使用这个的 也希望取个经, 看是否能解惑。
另外一个就是想知道有没有其他解决方案, 我看历史贴里面对这个的讨论比较少, 所以在此发一贴。