Tempo limite do Google App Engine: a operação do armazenamento de dados atingiu o tempo limite ou os dados ficaram temporariamente indisponíveis

Essa é uma exceção comum que eu recebo diariamente no log do meu aplicativo, geralmente 5 a 6 vezes por dia, com um tráfego de 1 mil visitas / dia:

db error trying to store stats
Traceback (most recent call last):
  File "/base/data/home/apps/stackprinter/1b.347728306076327132/app/utility/worker.py", line 36, in deferred_store_print_statistics
    dbcounter.increment()
  File "/base/data/home/apps/stackprinter/1b.347728306076327132/app/db/counter.py", line 28, in increment
    db.run_in_transaction(txn)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 1981, in RunInTransaction
    DEFAULT_TRANSACTION_RETRIES, function, *args, **kwargs)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 2067, in RunInTransactionCustomRetries
    ok, result = _DoOneTry(new_connection, function, args, kwargs)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 2105, in _DoOneTry
    if new_connection.commit():
  File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_rpc.py", line 1585, in commit
    return rpc.get_result()
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 530, in get_result
    return self.__get_result_hook(self)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_rpc.py", line 1613, in __commit_hook
    raise _ToDatastoreError(err)
Timeout: The datastore operation timed out, or the data was temporarily unavailable.

A função que está gerando a exceção acima é a seguinte:

def store_printed_question(question_id, service, title):
    def _store_TX():
        entity = Question.get_by_key_name(key_names = '%s_%s' % \
                                         (question_id, service ) )
        if entity:
            entity.counter = entity.counter + 1                
            entity.put()
        else:
            Question(key_name = '%s_%s' % (question_id, service ),\ 
                          question_id ,\
                          service,\ 
                          title,\ 
                          counter = 1).put()
    db.run_in_transaction(_store_TX)

Basicamente, ostore_printed_question A função verifica se uma determinada pergunta foi impressa anteriormente, incrementando nesse caso o contador relacionado em uma única transação.
Esta função é adicionada por umWebHandler para umdiferido trabalhador usando o predefinidopadrão fila que, como você deve saber, possui uma taxa de transferência de cinco invocações de tarefas por segundo.

Em uma entidade com seis atributos (dois índices), pensei que usandotransações regulado por um limite de taxa de tarefa adiada me permitiria evitar o tempo limite do armazenamento de dados, mas, observando o log, esse erro ainda é exibido diariamente.

Esse contador que estou armazenando não é tão importante, então não estou preocupado em receber esses tempos limite; de qualquer maneira, estou curioso para saber por que o Google App Engine não pode lidar com essa tarefa corretamente, mesmo a uma taxa baixa, como 5 tarefas por segundo e se a redução da taxa pode ser uma solução possível.
A contador estilhaçado em cada pergunta, para evitar intervalos, seria um exagero para mim.

EDITAR:
Eu configurei o limite de taxa para 1 tarefa por segundo na fila padrão; Ainda estou recebendo o mesmo erro.

questionAnswers(2)

yourAnswerToTheQuestion