2015-12-15 17 views
0

我使用python谷歌應用程序引擎SDK和Django框架。 在我的情況,任務隊列拋出期限超過錯誤截止日期超過任務隊列中的錯誤與基本模塊(谷歌應用程序引擎)

DeadlineExceededError: The overall deadline for responding to the HTTP request was exceeded.

雖然使用任務隊列的基本尺度,並按照doc任務基本或手動縮放可以運行長達24小時。

任務正在更新所有MySQL DB值,因此非常耗時。

@api_view(['POST']) 
def post_url(request): 
params= dict(.......)#some dict 
taskqueue.add(url='/tasks/gcm/gcm_all_user/', 
          params=params, 
          method="POST") 
return Response('Initiated task') 

這個任務發送POST請求啓動一個任務是由dispatch.yaml

dispatch: 
- url: "*/tasks/*" 
    module: tasks 

派往基本縮放模塊的任務模塊已經爲URL處理程序

application: some-application 
module: tasks 
version: 2 
runtime: python27 
api_version: 1 
threadsafe: true 
basic_scaling: 

libraries: 
- name: MySQLdb 
    version: "latest" 

handlers: 
- url: /tasks.* 
    script: app.wsgi.application 

請問任何人都可以告訴如何使任務運行更長的時間,而不會超過錯誤的最後期限。

+0

你的queue.yaml有什麼內容你有嗎? –

+0

不,我不沒有創建queue.yaml中@TimHoffman –

+0

其加入 'basic_scaling後現在的工作:max_instances:1'和'處理器: - 網址:/ _ah /啓動 腳本:oodles.wsgi.application' –

回答

0

只要您需要,該任務可以運行,但HTTP請求有自己的最後期限。您可能需要重構在您的任務中運行的代碼 - 可能會將一個較大的請求分解爲一系列較小的請求。

相關問題