библиотека oauth (ссылка из страница библиотеки Justin.tv Python) блокирует мои процессы Python на неопределенный срок в случайное время. Это происходит случайно, но ЧАСТО на одном из моих серверов. Я уверен, что это не связано с чем-то в моем коде, поэтому я вставляю часть дампа стека, связанную с библиотекой Python Justin.tv и oauth:
File "/home/honstreams/honstreams/website/JtvClient.py", line 51, in get return self._send_request(request, token) File "/home/honstreams/honstreams/website/JtvClient.py", line 90, in _send_request return conn.getresponse() File "/usr/lib/python2.6/httplib.py", line 986, in getresponse response.begin() File "/usr/lib/python2.6/httplib.py", line 391, in begin version, status, reason = self._read_status() File "/usr/lib/python2.6/httplib.py", line 349, in _read_status line = self.fp.readline() File "/usr/lib/python2.6/socket.py", line 397, in readline data = recv(1) KeyboardInterrupt
Суть в том, где он застрял перед KeyboardInterrupt
. Я останусь на этой линии навсегда или, по крайней мере, на несколько дней, пока она будет работать.
Меня интересует, каким образом socket.py
может заблокироваться, даже если установлен тайм-аут (иногда он действительно истекает), и как это можно предотвратить.
Вот еще немного информации
root@foo:~# python --version Python 2.6.5 root@foo:~# uname -a Linux foo.bar.no 2.6.32-31-generic-pae #61-Ubuntu SMP Fri Apr 8 20:00:13 UTC 2011 i686 GNU/Linux