0

我需要在web.py的线程之间共享一个对象。我正在运行一个执行计算并返回一个值的 Web 服务。计算是使用占用大量内存的对象完成的,因此我不希望为每个请求都创建它。

我有一个可以正常工作的解决方案,但似乎无法扩展:

import web
urls = ('/', 'index')

class index:
  def GET(self):
    ...
    result = web.myObject.DoCalculation()
    return result

if __name__ == "__main__":
  app = web.application(urls, globals())
  web.MyObject = LoadObjectFromFile
  app.run()

web.py会自动开启 10 个线程,但是这个数量是固定的,而且非常有限。我可以改变它吗?

web.py 安装指南建议使用Flup + 像LightTPDApache这样的服务器。这可以在保留我需要的共享对象功能的同时完成吗?谁能告诉我怎么做?

我安装了flup并在启动服务器时添加了“ fcgi ”作为命令行参数。这给了我在线程(无限数量)方面所需的行为,但当然没有执行任何任务。我认为需要定义一个fcgi服务器。这可以在不运行LightTPDApache的情况下解决吗?

4

0 回答 0