0

Я создаю конечную точку app-engine api, которую загружаю с помощью GoogleAppengineLauncher. Api запускается отлично. Но когда я пытаюсь загрузить api explorer для тестирования, я получаю сообщение об ошибке из-за строки from multiprocessing import Process. Мои исследования привели меня to this site. Но это не работает для меня. Кто-нибудь знает, как это исправить?ошибка приложения-двигателя из-за импорта _multiprocessing

from multiprocessing import Process 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/__init__.py", line 84, in <module> 
    import _multiprocessing 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/python/sandbox.py", line 861, in load_module 
    raise ImportError 
ImportError 
INFO  2013-03-25 23:46:32,229 server.py:528] "POST /_ah/spi/BackendService.getApiConfigs HTTP/1.1" 500 - 
INFO  2013-03-25 23:46:32,229 server.py:528] "GET /_ah/api/discovery/v1/apis HTTP/1.1" 500 60 
+0

Этот пост в блоге с 2009 года больше не имеет отношения к делу. Тем не менее, вы не можете импортировать '_multiprocessing', потому что он не поддерживается в App Engine. Почему вы пытаетесь его использовать? – bossylobster

+0

@bossylobster для загрузки изображения из Blobstore с помощью BlobReader с использованием 'value = blob_reader.read()', но без блокировки. – learner

+0

Нет никакого способа сделать это, но вы можете использовать 'ndb' [futures] (https://developers.google.com/appengine/docs/python/ndb/async#urlfetch), чтобы сделать что-то близкое к тому, что вам нужно. – bossylobster

ответ

1

В этом group thread, один из Python 2.7 App Engine инженеру выполнения указывают на альтернативные варианты (а именно futures пакет), которые должны работать с новым Python 2.7 threading support.

В качестве альтернативы вы можете использовать функции fetch_data_async для чтения из блоба без блокировки.

fetch_data_rpc = blobstore.fetch_data_async(...) 
other_processing() 
upload_url = fetch_data_rpc.get_result() 
+0

Я не проверял его, но из чтения он выглядит так, как будто он должен сделать трюк. Благодарю. – learner

Смежные вопросы