2013-01-12 73 views
2

我正在用Python和Webapp2開發Google App Engine應用程序。對於這個問題,相關的配件有:在此GAE應用程序中,每個請求創建多少個對象?

import webapp2 

my_object = MyClass() 

class MainPage(webapp2.RequestHandler): 
    def get(self): 
    # do stuff 

app = webapp2.WSGIApplication([ 
    ('/', MainPage) 
], debug=True) 

所以,每次我的應用程序accesed時間,MainPage請求處理程序來處理請求的照顧。假設有100個用戶在特定時間使用該應用。我的問題是:

  • 有多少個webapp2.WSGIApplication實例被創建?只有1? 100? (如果我理解WSGI,我認爲只有1)
  • 有多少個MyClass實例被創建?

回答

3

在Google App Engine上,計數在創建MainPage()MyClass時的100個實例;訪問您的網站的每個用戶都可能被路由到龐大的Google雲中的其他計算機。

本地運行,MyClass將被實例化一次每個進程;一些WSGI服務器運行多個procsses(分叉)來處理傳入的請求。 A MainPage itstance是爲每個傳入請求創建的(所以100次)。

+0

嗯......但關係MainPage - webapp2.WSGIApplication 1:1的關係? – jorgeas80

+0

@ jorgeas80:傳入* class *,webapp2將根據需要創建該類的實例以處理請求。 –

+0

好的,理解。感謝您的解釋。 – jorgeas80

相關問題