Próbuję służyć mp4/wideo w środowisku rozwojowym python GAE (przy użyciu dev_appserver.py), ale nie byłem w stanie odtworzyć go w mojej przeglądarce do tej pory.Jak mogę przesłać plik filmowy z serwera deweloperskiego (dev_appserver.py) z GAE Python?
Ponieważ na serwerze programowania wystąpił błąd "Broken Pipe" i mogłem odtworzyć go w środowisku produkcyjnym (na serwerze Google), przyczyną problemu mogą być równoległe żądania przeglądarki. (Jeśli moje zrozumienie jest poprawne, dev_appserver.py jest jednowątkowe i nie może obsłużyć równoległych żądań.)
Próbowałem "--disable-preconnect" opcji Chrome, ale to nie rozwiązało problemu.
Czy są jakieś obejścia tego problemu? Twoja rada jest naprawdę doceniana.
Edytuj: Plik filmu jest przechowywany jako zasób statyczny i próbowałem uzyskać do niego bezpośredni dostęp (nie użyłem tagu wideo).
[Informacje o wersji]
- OS: Ubuntu 12.04 LTE
- Przeglądarka: Chrome 19.0.1084.46, Firefox 12.0
- GAE: Python - 1.6.5,
- Python: 2.7.3
[błąd Log]
INFO 2012-05-21 07:35:04,575 dev_appserver.py:2891] "GET /static/test.mp4 HTTP/1.1" 200 -
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 36240)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 284, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 310, in process_request
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/home/chikashi/Development/google_appengine/google/appengine/tools/dev_appserver.py", line 2579, in __init__
BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
File "/usr/lib/python2.7/SocketServer.py", line 640, in __init__
self.finish()
File "/usr/lib/python2.7/SocketServer.py", line 693, in finish
self.wfile.flush()
File "/usr/lib/python2.7/socket.py", line 303, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
----------------------------------------
Czy możesz pokazać nam swój kod źródłowy? Czy używasz blobstoredownloadhandler? –
Przepraszamy za niedobór informacji. Plik filmowy jest przechowywany jako zasób statyczny, więc nie używam narzędzia blobstoreddownloadhandler. –
Tak, dev_appserver.py jest jednowątkowe. – allyourcode