我正在使用 elasticsearch 并且需要建立一个持久连接到它,我在我的项目的任何地方重新使用它。然而,经过大量挖掘,我仍然不确定如何正确创建一个全局变量,我可以肯定它只会被实例化一次。我创建了以下文件:
es.py
from elasticsearch import Elasticsearch
es = Elasticsearch()
我在任务和 View 等地方使用它如下:
import es
es.es.search(***********)
但对我来说,这似乎只是每次调用 es = Elasticsearch()
,导致重新创建连接。我的方法正确吗?
最佳答案
无论模块和变量名的选择如何(es.es
看起来很别扭),你所做的似乎没问题。
Elasticsearch()
只会被调用一次,无论您在其余代码中导入该模块多少次。
我认为如果连接丢失,您会希望通过某种方式重新连接,但那是另一回事。
关于python - 在django中设置一个全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33582737/