2016-11-11 13 views
0

私の遅延タスクは、失敗した後にもう一度試してみたいです。 Specifying retry limit for tasks queued using GAE deferred library私が受け入れ答えを追跡するために必要なことは明らかだったので、私はこのように見えるように私のコードを変更:この関連の質問読んだ後GAE Python Deferred.deferが 'task_retry_limit'が動作しないようにしました。

from google.appengine.ext import deferred 

deferred.defer(MyFunction, DATA, _retry_options={'task_retry_limit': 1}) 

を今、私はこのエラーを取得する:

File "/usr/local/google-cloud-sdk/platform/google_appengine/google/appengine/ext/deferred/deferred.py", line 269, in defer 
    return task.add(queue, transactional=transactional) 
File "/usr/local/google-cloud-sdk/platform/google_appengine/google/appengine/api/taskqueue/taskqueue.py", line 1143, in add 
    return self.add_async(queue_name, transactional).get_result() 
File "/usr/local/google-cloud-sdk/platform/google_appengine/google/appengine/api/taskqueue/taskqueue.py", line 1139, in add_async 
    return Queue(queue_name).add_async(self, transactional, rpc) 
File "/usr/local/google-cloud-sdk/platform/google_appengine/google/appengine/api/taskqueue/taskqueue.py", line 1889, in add_async 
rpc) 
File "/usr/local/google-cloud-sdk/platform/google_appengine/google/appengine/api/taskqueue/taskqueue.py", line 2008, in __AddTasks 
    fill_request(task, request.add_add_request(), transactional) 
File "/usr/local/google-cloud-sdk/platform/google_appengine/google/appengine/api/taskqueue/taskqueue.py", line 2093, in __FillAddPushTasksRequest 
    task.retry_options, task_request.mutable_retry_parameters()) 
File "/usr/local/google-cloud-sdk/platform/google_appengine/google/appengine/api/taskqueue/taskqueue.py", line 2033, in __FillTaskQueueRetryParameters 
    if retry_options.min_backoff_seconds is not None: 
AttributeError: 'dict' object has no attribute 'min_backoff_seconds' 

明らかに私は愚かな間違いをしていますが、私はそれが何であるか把握できません。

答えて

2

あなただけのdict、TaskRetryOptionsインスタンスを渡す必要はありません。

from google.appengine.ext import deferred 
from google.appengine.api.taskqueue import TaskRetryOptions 

options = TaskRetryOptions(task_retry_limit=1) 
deferred.defer(MyFunction, DATA, _retry_options=options) 
関連する問題