我使用Celery和MongoEngine作为我的Django App的一部分。
当celery @shared_task通过mongoengine模型类访问mongodb数据库时,我收到此警告:
UserWarning: MongoClient opened before fork. Create MongoClient with
connect=False,or create client after forking. See PyMongo's
documentation for details:
http://api.mongodb.org/python/current/faq.html#using-pymongo-with-multiprocessing
它显然与多处理和pyMongo有关,即mongoengine所基于的。
我的问题是:
使用mongoengine避免此问题的最佳策略是什么?
请注意我在settings.py
中使用mongoengine连接到mongodb:
mongoengine.connect('my_mongo_database_name', alias='default')
答案 0 :(得分:5)
在线搜索后,我发现可以将其他参数传递给const corsOptions = {
optionsSuccessStatus: 200,
credentials: true,
allowedHeaders: 'Content-Type',
preflightContinue: true,
}
app.options('/a/', cors(corsOptions));
app.post('/a/', cors(corsOptions), (req, res) => {
// do stuff
});
函数,其他参数将传递给基础Credential is not supported if the CORS header ‘Access-Control-Allow-Origin’ is ‘*’).
类&功能
所以我只是简单地编辑了mongoengine.connect
对以下内容的调用:
PyMongo
警告停止了。尽管如此,我不确定这是处理警告的最佳方式。如果你有更好的答案,请发布它,我很乐意测试它并最终接受它。