开发者

GAE error (Error code 104) while creating a new blob

On GAE this line of code:

file_name = files.blobstore.create(mime_type='image/png')

drops google.appengine.runtime.DeadlineExceededError

Here is the full method code:

class UploadsHandler(JSONRequestHandler):
    def upload_blob(self, content, filename):
        file_name = files.blobstore.create(mime_type='image/png')

        file_str_list = split_len(content, 65520)

        with files.open(file_name, 'a') as f:
            for line in file_str_list:
                f.write(line)

        files.finalize(file_name)
        return files.blobstore.get_blob_key(file_name)

Logging message ends with:

A serious problem was encountered with the process that handled this request, causing it to exit. This is likely to cause a new process to be used for the next request to your application. If you see this message frequently, you may be throwing exceptions during the initialization of your application. (Error code 104)

Full error stack:

<class 'google.appengine.runtime.DeadlineExceededError'>: 
Traceback (most recent call last):
  File "/base/data/home/apps/s~mockup-cloud/1.352909931378411668/main.py", line 389, in main
    util.run_wsgi_app(application)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/util.py", line 98, in run_wsgi_app
    run_bare_wsgi_app(add_wsgi_middleware(application))
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/util.py", line 116, in run_bare_wsgi_app
    result = application(env, _start_response)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 703, in __call__
    handler.post(*groups)
  File "/base/data/home/apps/s~mockup-cloud/1.352909931378411668/main.py", line 339, in post
    original_key = "%s" % self.upload_blob(src)
  File "/base/data/home/apps/s~mockup-cloud/1.352909931378411668/main.py", line 268, in upload_blob
    file_name = files.blobstore.create(mime_type='image/png')
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/files/blobstore.py", line 68, in create
    return files._create(_BLOBSTORE_FILESYSTEM, params=params)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/files/file.py", line 487, in _create
    _make_call('Create', request, response)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/files/file.py", line 228, in _make_call
    rpc.wait()
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy开发者_StackOverflow中文版_stub_map.py", line 533, in wait
    self.__rpc.Wait()
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_rpc.py", line 119, in Wait
    rpc_completed = self._WaitImpl()
  File "/base/python_runtime/python_lib/versions/1/google/appengine/runtime/apiproxy.py", line 131, in _WaitImpl
    rpc_completed = _apphosting_runtime___python__apiproxy.Wait(self)

Blob is created while file upload. Other methods of the app work great. It looks like blobstore is not responding for under 30 sec.

Any ideas why this happens? Thanks!


Seems like you're not the only one having this issue:

http://groups.google.com/group/google-appengine/browse_thread/thread/27e52484946cbdc1#
(posted today)


Seems like Google had some reconfigurations of their servers. Now everything's working fine as it was before.


A runtime.DeadlineExceededError occurs when your request handler takes too long to execute - the blobstore call just happened to be what was running when that happened. You need to profile your handler with appstats to see why it's so slow.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜