2010-10-27 48 views
3

您好我正在與我的django應用程序進行教皇集成。錯誤:[Errno 32]當貝寶回電到python django應用程序時出現壞管道

我使用svn和python 2.6的最新版本的django。

但是,我發現每次當貝寶的沙箱訪問我的通知網址我得到500 [Errno 32]破管我的Django堆棧。

有沒有人有類似的經驗呢?

乾杯,

Traceback (most recent call last): 
    File "/usr/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 281, in run 
    self.finish_response() 
    File "/usr/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 321, in finish_response 
    self.write(data) 
    File "/usr/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 417, in write 
    self._write(data) 
    File "/usr/lib/python2.6/socket.py", line 318, in write 
    self.flush() 
    File "/usr/lib/python2.6/socket.py", line 297, in flush 
    self._sock.sendall(buffer(data, write_offset, buffer_size)) 
error: [Errno 104] Connection reset by peer 
---------------------------------------- 
Exception happened during processing of request from ('216.113.191.33', 21736) 
Traceback (most recent call last): 
    File "/usr/lib/python2.6/SocketServer.py", line 283, in _handle_request_noblock 
    self.process_request(request, client_address) 
    File "/usr/lib/python2.6/SocketServer.py", line 309, in process_request 
    self.finish_request(request, client_address) 
    File "/usr/lib/python2.6/SocketServer.py", line 322, in finish_request 
    self.RequestHandlerClass(request, client_address, self) 
    File "/usr/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 562, in __init__ 
    BaseHTTPRequestHandler.__init__(self, *args, **kwargs) 
    File "/usr/lib/python2.6/SocketServer.py", line 618, in __init__ 
    self.finish() 
    File "/usr/lib/python2.6/SocketServer.py", line 661, in finish 
    self.wfile.flush() 
    File "/usr/lib/python2.6/socket.py", line 297, in flush 
    self._sock.sendall(buffer(data, write_offset, buffer_size)) 
error: [Errno 32] Broken pipe 
---------------------------------------- 

回答

0

通過對的第一個錯誤連接復位告訴你,連接已被同行關閉(你的情況Pypal)和錯誤管道中斷引發此錯誤當一個連接突然關閉而沒有通知另一個對端(在你的情況下你的機器)。

+0

所以有什麼我可以做,以防止這種情況發生? 因爲我正在測試貝寶沙盒,不確定這個症狀會消失,如果我使用貝寶現場設置。 謝謝 – 2010-10-27 01:38:25

+0

另外,我部署這個通過使用uwsgi + nginx,我仍然得到500. – 2010-10-27 01:44:53

+0

@Grace階梯:就像我說的是paypal重置連接,也許你可以編輯你的答案,並添加你用來連接的代碼貝寶,希望這可以幫助! – mouad 2010-10-27 19:59:13

0

有兩個問題。首先,一些paypal API(特別是MassPay)非常差。

第二個也是更可能的問題是,您的服務器是單線程的,並且無法正確引發paypal異常。我可以通過創建一個帶有表單(通過POST)的HTML文件來解決類似的問題,該表單嘲笑了一個PayPal IPN,然後查看調試結果(或者更好地使用PyDev中的調試器)。你當然可以用捲曲來做同樣的事情。

+0

有趣的是我試着用curl來模仿帖子數據,django服務器倖存了下來,但是當paypal回叫時被搞砸了。稍後會做更多的檢查,歡呼 – 2010-10-27 07:09:06

相關問題