2013-06-28 3 views
0

При использовании асинхронного URL Fetch я получаю периодические ошибки, как это:URL Fetch AssertionError: 2

Для 300 выборок я получаю около 20 тезисов. Я делаю что-то неправильно? Или это ошибка?

Traceback (most recent call last): 
    File "/base/data/home/apps/s~culturemap-bulkmail/1.368407357562484358/bulkmail/views.py", line 83, in mailer 
    emailer.send(email, context) 
    File "/base/data/home/apps/s~culturemap-bulkmail/1.368407357562484358/bulkmail/mailers/amazon.py", line 91, in send 
    self.connection.send(email, msg.message().as_string()) 
    File "/base/data/home/apps/s~culturemap-bulkmail/1.368407357562484358/bulkmail/mailers/amazon.py", line 49, in send 
    headers=self.headers, 
    File "/python27_runtime/python27_lib/versions/1/google/appengine/api/urlfetch.py", line 339, in make_fetch_call 
    rpc.make_call('Fetch', request, response, _get_fetch_result, allow_truncated) 
    File "/python27_runtime/python27_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 519, in make_call 
    assert self.__rpc.state == apiproxy_rpc.RPC.IDLE, repr(self.state) 
AssertionError: 2 

в инициализации: в методе

self.fetcher = urlfetch.create_rpc(deadline=60) 

, который вызывается несколько раз: также линии, что ошибки из:

fetch = urlfetch.make_fetch_call(
    self.fetcher, 
    'https://email.us-east-1.amazonaws.com/', 
    payload=form_data, 
    method=urlfetch.POST, 
    headers=self.headers, 
) 

Я предполагаю, что я должен создать новый RPC вместо повторного использования?

ответ

1

Показать код, из-за ошибки, похоже, что вы повторно используете существующий активный объект RPC.

+0

ОК обновлено моим кодом. Я думаю, ваше право, я не заметил в примерах, чтобы всегда создавать новый RPC. – PizzaPanther