6

biegnę następujące dwa polecenia:Google App Engine bulkloader otwiera pusty plik w przesłaniu

appcfg.py download_data --kind=Journal --url=http://appname.appspot.com/_ah/remote_api --filename=Journals.sql3 
appcfg.py upload_data --url=http://localhost:8080/_ah/remote_api --kind=Journal --filename=Journals.sql3 

Pierwszym sukcesem pliki do pobrania danych w następujących plików: bulkloader-results-20130718.112127.sql3 Czasopisma .sql3 Brak błędów. Kiedy otwieram plik w notatniku, wygląda na to, że dane tam są.

Drugi otwiera losowo nowy pusty plik przy każdym uruchomieniu (np. Bulkloader-progress-20130718.115805.sql3). Następnie podaje następujący dziennik błędów:

INFO  2013-07-18 11:54:48,930 module.py:595] default: "POST /_ah/remote_api HTTP/1.1" 200 96 
INFO  2013-07-18 11:58:17,563 module.py:595] default: "GET /_ah/remote_api?rtok=36123921049 HTTP/1.1" 200 64 
INFO  2013-07-18 11:58:20,609 module.py:595] default: "GET /_ah/remote_api HTTP/1.1" 200 37 
ERROR 2013-07-18 09:58:20,618 handler.py:384] Exception while handling service_name: "datastore_v4" 
method: "AllocateIds" 
request: "" 
Traceback (most recent call last): 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\ext\remote_api\handler.py", line 380, in post 
    response_data = self.ExecuteRequest(request) 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\ext\remote_api\handler.py", line 411, in ExecuteRequest 
    response_data) 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\apiproxy_stub_map.py", line 94, in MakeSyncCall 
    return stubmap.MakeSyncCall(service, call, request, response) 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\apiproxy_stub_map.py", line 328, in MakeSyncCall 
    rpc.CheckSuccess() 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\apiproxy_rpc.py", line 156, in _WaitImpl 
    self.request, self.response) 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\ext\remote_api\remote_api_stub.py", line 200, in MakeSyncCall 
    self._MakeRealSyncCall(service, call, request, response) 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\ext\remote_api\remote_api_stub.py", line 234, in _MakeRealSyncCall 
    raise pickle.loads(response_pb.exception()) 
AttributeError: 'NoneType' object has no attribute 'THREADSAFE' 
INFO  2013-07-18 11:58:20,622 module.py:595] default: "POST /_ah/remote_api HTTP/1.1" 200 96 

Co robię źle?

EDYCJA: Nadal nie ma rozwiązania. Zabawne jest to, że działa upload na serwerze aplikacji.

+0

Losowe pliki nazwane są plikami postępu, można jawnie nazwać pliki postępu, co pozwala na ponowne uruchomienie wstrzymanego przesyłania lub pobierania. Nie są twoim problemem. –

+0

OK, wielkie dzięki za to. Masz pojęcie, co może spowodować błąd? – Ger0nim0

+0

Niestety nie, jakiej wersji SDK i wersji Pythona używasz? –

Odpowiedz

4

Wygląda na to, że istnieje ticket dla tego problemu i jest on związany z najnowszą wersją serwera dev Pythona (1.8.2).

Zgodnie z sugestią na bilecie, obniżyłem mój serwer dev do poprzedniej wersji SDK (1.8.1), a przesyłanie zbiorcze działało zgodnie z oczekiwaniami.

+0

Nowa wersja 1.8.3 ma ten sam problem. –