古尼康的叉与牛在python

时间:2019-02-22 08:10:22

标签: python

您好,我正在开发Web应用程序。

我用烧瓶和金枪鱼来运行Web应用程序。

  1. 我需要几个工人。
  2. 对象A包含大型词典。
  3. 但是对象没有改变。
  4. 因此,我在运行flask应用程序之前先加载对象A。
  5. 我希望该对象可以共享。
  6. 但是当每个工作人员第一次收到查询时,每个工作人员都会加载新对象。
  7. 因此,我在加载对象A时调用了一个处理对象A中请求的函数
  8. 然后,工人共享对象A。

我怎么了?

代码前

class A():
  def __init__():
    self.dict = {}
    self.load_data()

  def handle_req(self, params):
    #process

  def load_data():
    self.dict = large data

flask_app = Flask(__name__)

@flask_app.route("/"):
def handle():
  param = request.get("param")
  a.handle_req(param)

if "__main__"==__name__:
  a = A()    

  GunicornServer(flask_app).run()

代码后:

class A():
  def __init__():
    self.dict = {}
    self.load_data()
    self.handle_req("test") #<<-- added

  def handle_req(self, params):
    #process

  def load_data():
    self.dict = large data

flask_app = Flask(__name__)

@flask_app.route("/"):
def handle():
  param = request.get("param")
  a.handle_req(param)

if "__main__"==__name__:
  a = A()    

  GunicornServer(flask_app).run()

0 个答案:

没有答案