Python Google App エンジン SDK と Django フレームワークを使用しています。私の場合、タスクキューはデッドライン超過エラーをスローしています
DeadlineExceededError: HTTP 要求への応答の全体的な期限を超えました。
ただし、基本スケーリングでタスク キューを使用し、基本スケーリングまたは手動スケーリングでドキュメントタスクに従って使用すると、最大 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')
このタスクは、dispatch.yaml によって基本スケーリング モジュールにディスパッチされます。
dispatch:
- url: "*/tasks/*"
module: tasks
task モジュールには 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
デッドライン超過エラーなしでタスクをより長く実行する方法を誰か教えてください。