关于python:解决fastapi-中-APScheduler-与-uvicorn-冲突问题qbit

问题形容

  • 环境

    Ubuntu 20.04
    Python 3.8.5
    APScheduler 3.8.x/3.9.x
    uvicorn 0.15.0 - 0.17.6
  • 在上述环境下,APScheduler 的定时工作不能运行
  • uvicorn 0.14.0APScheduler 搭配无此问题
  • WindowsuvicornAPScheduler 任意版本搭配也无此问题

解决办法

  • appstartup 事件中启动定时器即可

    @app.on_event("startup")
    async def start_scheduler():
      AsyncSched = AsyncIOScheduler(timezone="Asia/Shanghai")
      scheduler.add_job(...)
      scheduler.start()
  • 参考 uvicorn can’t reload when i use apscheduler and fastapi together

本文出自 qbit snap

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理