Ich habe eine Django-Management-Befehl, über Supervisord gestartet, die Tweepy verwendet, um die Twitter-Streaming-API zu konsumieren.Tweepy SSLError
Der Agent funktioniert ganz gut, aber ich merke in den Protokollen, dass es alle 10-15 Minuten einen SSLError gibt und supervisord startet den Agenten neu.
Das Tweepy-Paket ist die neueste Version 1.11. Der Server ist Ubuntu 12.04 LTS. Ich habe versucht, den cacert in die Schlüsselkette zu installieren, wie in der Verbindung unten erwähnt, aber kein Glück.
Twitter API SSL Root CA Certificate
Irgendwelche Vorschläge?
[2012-08-26 19:28:15,656: ERROR] Error establishing the connection
Traceback (most recent call last):.../.../datasinks.py", line 102, in start
stream.filter(locations=self.locations)
File "/site/pythonenv/local/lib/python2.7/site-packages/tweepy/streaming.py", line 228, in filter
self._start(async)
File "/site/pythonenv/local/lib/python2.7/site-packages/tweepy/streaming.py", line 172, in _start
self._run()
File "/site/pythonenv/local/lib/python2.7/site-packages/tweepy/streaming.py", line 117, in _run
self._read_loop(resp)
File "/site/pythonenv/local/lib/python2.7/site-packages/tweepy/streaming.py", line 150, in _read_loop
c = resp.read(1)
File "/usr/lib/python2.7/httplib.py", line 541, in read
return self._read_chunked(amt)
File "/usr/lib/python2.7/httplib.py", line 574, in _read_chunked
line = self.fp.readline(_MAXLINE + 1)
File "/usr/lib/python2.7/socket.py", line 476, in readline
data = self._sock.recv(self._rbufsize)
File "/usr/lib/python2.7/ssl.py", line 241, in recv
return self.read(buflen)
File "/usr/lib/python2.7/ssl.py", line 160, in read
return self._sslobj.read(len)
SSLError: The read operation timed out
Im Folgenden finden Sie eine Übersicht über den Code.
Was passiert, wenn Sie 'timeout' gesetzt zu etwas viel größerem? Ich vermute, dass dein 'Stream' ein Zeitlimit aufweist, weil es gelegentlich mehr als 60 Sekunden dauert, ohne ein Update zu erhalten. –
Sie sollten erwägen, ein Problem auf [GitHub] (https://github.com/tweepy/tweepy) zu öffnen, falls Sie dies nicht bereits getan haben. –