probably at the beach
probably at the beach

Reputation: 15217

Can we do anything about a TransientError or does it indicate a server side issue?

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

Answers (1)

Mitch Rudominer
Mitch Rudominer

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

Related Questions