2011-02-04 16 views
8

Son zamanlarda bu hatayı daha fazla görüyorum. Ubuntu 10.10'da Chrome kanalsız tarayıcıyı kullanıyorum. Bir web sayfasını yenilediğimde - dev_appserver asılı görünüyor. Bir zaman aşımından sonra, talebi tamamlarsa. Ben appserver Terminal penceresinde CTRL-C yazarsanızNeden dev_appserver.py (App Engine dev sunucusu) istekte bekletiliyor?

, öyle görünüyor için "Etkinleştirmek" Sunucu bu geri izini görüntülemek sonra: Ben ile ilgili olduğunu görmek için Firefox'u konuyu açtığında, Garip

Exception happened during processing of request from ('192.168.1.19', 48238) 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.5/SocketServer.py", line 222, in handle_request 
    self.process_request(request, client_address) 
    File "/usr/local/lib/python2.5/SocketServer.py", line 241, in process_request 
    self.finish_request(request, client_address) 
    File "/usr/local/lib/python2.5/SocketServer.py", line 254, in finish_request 
    self.RequestHandlerClass(request, client_address, self) 
    File "/usr/local/google_appengine/google/appengine/tools/dev_appserver.py", line 3123, in __init__ 
    BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args, **kwargs) 
    File "/usr/local/lib/python2.5/SocketServer.py", line 522, in __init__ 
    self.handle() 
    File "/usr/local/lib/python2.5/BaseHTTPServer.py", line 316, in handle 
    self.handle_one_request() 
    File "/usr/local/lib/python2.5/BaseHTTPServer.py", line 299, in handle_one_request 
    self.raw_requestline = self.rfile.readline() 
    File "/usr/local/lib/python2.5/socket.py", line 346, in readline 
    data = self._sock.recv(self._rbufsize) 
KeyboardInterrupt 

Yalnızca Chrome, sorun ortadan kalktı (hem Firefox'ta hem de Chrome'da).

Bunu, önceki istekte bulunan tarayıcıyı yanıttan tüm baytları tamamen çekmeyerek açık olarak yorumluyorum. Dev_server tek iş parçacıklı olduğundan, , eski bir kez çıkana kadar başka istekleri işlemez.

Burada başka herhangi bir fikir var mı? Bu olduğunda, son derece sinir bozucu oluyor, çünkü devam etmek için app_devserver'ı öldürmek ve yeniden başlatmak zorundayım.

+0

Benim tahminim, Chrome'un kalıcı bağlantıları kullanmasıdır - tüm yanıtı okur, ancak sonraki istekleri hızlandırmak için bağlantıyı açık tutuyordur. Bunu sunucu bazında nasıl devre dışı bırakacağımı bilmiyorum. –

+0

Kromsuz bir sürüm kullanıyorsunuz gibi mi geliyor? Mevcut kararlılık aynı şeyi yapıyor mu? Krom kullanıyorum ve GAE için sorun yaşamadan geliştiriyorum. – Matt

+0

Tuhaf olarak benim için bu sadece Chrome'da bir gizli pencerede çalışırken ortaya çıkıyor ... –

cevap

6

Bu konuda gruplar hakkında birkaç gönderi var. Görünüşe göre Chrome birden çok istek gönderecek, ardından SDK'nın isteklerin birindeki engellenmesi bir şekilde sona erecek.

Chrome'u --disable-preconnect yardımcılarıyla başlatan birkaç kullanıcı say gördüm.

+1

Bunu bulduğunuz için teşekkürler. App Engine Google Group'tan iyi bir açıklama: Chrome, sunucuya çoklu bağlantılar açar, ancak istekte bulunmadan önce numaralı isteği gönderir. dev_appserver tek iş parçacıklı olduğundan ve yalnızca zamanında 1 isteği işleyebildiğinden, istek bağlanmaya çalışılır. https://groups.google.com/group/google-appengine-python/browse_thread/thread/619d46a1e3d08c67 – mckoss

+0

Orijinal olarak bağlanan tarayıcıyı yenilemek yardımcı oluyor, ancak IE veya FireFox kullanımı gibi görünüyor. Teşekkürler! – crizCraig

+0

Bu sorunu + 1 Google’a sorun: http://code.google.com/p/googleappengine/issues/detail?id=4716&q=chrome&colspec=ID%20Type%20Component%20Status%20Stars%20Summary%20Language%20Priority%20Owner % 20Log – crizCraig