我正在開發使用python的GAE應用程序,我希望它能夠同時處理請求。爲了達到這個效果,我已經設置了線程安全到true。 我已經定義在我的請求處理方法有兩種:阻止Google App Engine中的請求處理程序
POST - 它入列拉的任務異步執行,這將在稍後本身排隊拉任務作爲迴應:
def post(self):
message = self.request.body
taskqueue.add(url='/process', params={'message': message}) #this task will enqueue a pull task as a response
GET - 民調拉爲響應任務隊列,直到有一個可用的(我知道我應該找到一種方法來改善這種循環,但我只是想出來):
def get(self):
(...)
tasks = queue.lease_tasks_by_tag(1, 100, tag)
while tasks.__len__() == 0:
time.sleep(1)
tasks = queue.lease_tasks_by_tag(1, 100, tag)
客戶端應用程序調用POST和GET然後。我在通過POST方法入隊的任務上放置了一個斷點,但在循環中存在請求處理程序時,它永遠不會被調用。 我以爲應用程序應該有多個線程爲請求提供服務,那麼它怎麼纔不會同時執行推送請求處理程序呢? 我很感激任何幫助。
你說得對!我將它部署到AppEngine,它工作。謝謝一堆。至於Channel API,我沒有使用JavaScript客戶端,現在我想爲我的服務保留一個RESTful界面,但是感謝您的建議。 – djed