
解决多进程环境下APScheduler的重复运行问题的方法
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
本文探讨了在多进程环境中使用APScheduler时可能出现的任务重复执行的问题,并提供了解决方案和优化建议。
在一个Python Web应用中需要定时执行一些任务,因此使用了APScheduler库,并且因为采用了Flask框架,所以也用了flask-apscheduler插件(本质上与直接使用APScheduler相同)。在开发过程中直接测试运行没有问题,但在用gunicorn部署后出现了重复运行的问题:每个任务在到达预定时间时会同时执行多次。仔细观察发现每次的重复数量正好是gunicorn配置中的worker进程数,显然是因为每个worker进程中都启动了一份scheduler。
解决这个问题的方法有几种:
可以使用–preload选项来启动gunicorn,确保调度器只初始化一次;或者将APScheduler实例化移到应用工厂中,在那里创建一个全局可访问的对象。
全部评论 (0)
还没有任何评论哟~


