pymongo, APscheduler 和 gunicorn 一起使用的问题

2019-04-03 16:52:03 +08:00
 mzmxcvbn
flask 应用:gunicorn 启动的时候开 4 个 worker (-w 4) ,为了保证 APscheduler 里的定时任务每次执行只执行一次,我用了 --preload 的选项。虽然这样 APscheduler 的问题解决了,但由于 pymongo 是进程不安全的,使用这个选项的话会报出"MongoClient opened before fork. Create MongoClient only "的 warnning。

找了下,stackoverflow 里也有同样的问题,但没有目前都没有回答

现在只能单进程跑,V2 的大神们有什么方法能调和这个问题吗
3012 次点击
所在节点    Python
3 条回复
HelloAmadeus
2019-04-04 09:42:28 +08:00
创建 mongo client 的时候把 connect=false 加上
mzmxcvbn
2019-04-04 14:09:09 +08:00
@HelloAmadeus 一直加上的,没有用
HelloAmadeus
2019-04-04 15:01:48 +08:00
@mzmxcvbn 看一下你在 flask 请求之前有数据库操作吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/551719

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX