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