0
我正在使用web.py来托管一个简单的web服务。 Web服务在后端(ClassA内部)运行分析应用程序。在web.py的初始化过程中,我想将所有数据预加载到内存中(例如,当Web服务器启动时只调用一次= ClassA()),并且当用户发送Web请求时,Web服务器只会响应预先计算的结果(即返回a.do_something)。在webpy上只初始化python类一次
下面的代码似乎在每次收到HTTP POST请求时运行init()类。这是浪费时间,因为初始化阶段需要很长时间。是否有可能只初始化ClassA一次?
import web
from aclass import ClassA
urls = (
'/add', 'add'
)
class add:
def __init__(self):
a = ClassA()
def POST(self):
return a.do_something()
if __name__ == "__main__":
app = web.application(urls, globals())
app.run()
工作,但不''self.a.do_something()'比'add.a.do_something()'更好?无论哪种方式,初始化只发生一次。 – pbuck
我不能判断哪一个更好,我只是想强调一下,它是绑定到类,而不是实例。 (我可以看到的一个优点是,使用'self'你可以在不破坏函数的情况下重命名类。) – Pit