2013-08-22 2 views
0

Я пытаюсь объединить 2 файла и создать одно новое в BlobStore AppEngine. Эти файлы составляют 12 000 строк и имеют 12 МБ. Проблема возникает, когда я writte нового файла, потому что в середине записи появится следующее сообщение об ошибке:Объединить большие файлы в Blobstore GAE FileNotOpenedError: ApplicationError: 10

ApplicationError: 10 
Traceback (most recent call last): 
    File "/base/data/home/runtimes/python/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 716, in __call__ 
    handler.post(*groups) 
    File "/base/data/home/apps/s~ono-hat-vv2/1.369681903434492066/com/__init__.py", line 244, in post 
    self.principal(cont+1, numFicheritos,"csvTotal","uniendoCSV") 
    File "/base/data/home/apps/s~ono-hat-vv2/1.369681903434492066/com/__init__.py", line 277, in principal 
    self.escribirtxt(f, cadenaSalida) 
    File "/base/data/home/apps/s~ono-hat-vv2/1.369681903434492066/com/__init__.py", line 308, in escribirtxt 
    f.write(linea) 
    File "/base/data/home/runtimes/python/python_lib/versions/1/google/appengine/api/files/file.py", line 326, in write 
    self._make_rpc_call_with_retry('Append', request, response) 
    File "/base/data/home/runtimes/python/python_lib/versions/1/google/appengine/api/files/file.py", line 427, in _make_rpc_call_with_retry 
    _make_call(method, request, response) 
    File "/base/data/home/runtimes/python/python_lib/versions/1/google/appengine/api/files/file.py", line 252, in _make_call 
    _raise_app_error(e) 
    File "/base/data/home/runtimes/python/python_lib/versions/1/google/appengine/api/files/file.py", line 195, in _raise_app_error 
    raise FileNotOpenedError(e) 
FileNotOpenedError: ApplicationError: 10 

Я прочитал, что проблема в то время, когда я открываю файл, потому что это не может быть больше что 30 с. Как я могу решить эту проблему и объединить этот файл?

+0

Возможно, вам придется показать код. –

+0

Возможно, вы могли бы сделать отложенную задачу или работать на заднем плане. – ccsakuweb

+0

Проблема заключалась в том, что поток не может быть много открытым и автоматически закрыт. В конце я добавил файлы в облачное хранилище, которое имеет меньше ограничений и проще в использовании. –

ответ

0

Закройте файл и заново откройте его так часто.

Вы просматривали Google Cloud Storage? У этого может не быть этого ограничения, а также файлы движка app api устарели, и нам все равно нужно двигаться в этом направлении. Что-то нужно учитывать.

+0

Проблема заключалась в том, что поток не может быть много открытым и автоматически закрыт. В конце я добавил файлы в облачное хранилище, которое имеет меньше ограничений и проще в использовании. –