Reputation: 15217
We see occasional (~100 per day) TransientError
errors when adding tasks to a queue in appengine. Is there anything we can do to handle these or code more defensively to avoid them?
An exampe of the error we receive is shown below:
File "/python27_runtime/python27_lib/versions/1/google/appengine/ext/deferred/deferred.py", line 268, in defer
return task.add(queue, transactional=transactional)
File "/python27_runtime/python27_lib/versions/1/google/appengine/api/taskqueue/taskqueue.py", line 1132, in add
return self.add_async(queue_name, transactional).get_result()
File "/python27_runtime/python27_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 604, in get_result
return self.__get_result_hook(self)
File "/python27_runtime/python27_lib/versions/1/google/appengine/api/taskqueue/taskqueue.py", line 1927, in ResultHook
raise _TranslateError(e.application_error, e.error_detail)
TransientError
Upvotes: 1
Views: 937
Reputation: 56
TransientError indicates a server-side error (for example an overloaded and unresponsive BigTable). The only thing you can do is try again with back-off.
Upvotes: 3