Ich habe eine Funktion geschrieben, um eine Aufgabe asynchron über Celery auszuführen, habe sie lokal getestet und alles funktioniert gut. Als ich sie in meine Testumgebung verschoben habe und Celery versucht, die Aufgaben zu verarbeiten, schlägt es mit folgendem Traceback fehl.
Ich bin mir nicht einmal sicher, wie ich diesen Fehler debuggen soll, da er von Celery aufgerufen wird und tief in der Python-Standardbibliothek auftritt. Irgendwelche Ideen?
Traceback (most recent call last):
File "/home/ubuntu/hypnos-venv/local/lib/python2.7/site-packages/celery/app/trace.py", Zeile 238, in trace_task
R = retval = fun(*args, **kwargs)
File "/home/ubuntu/hypnos-venv/local/lib/python2.7/site-packages/celery/app/trace.py", Zeile 416, in __protected_call__
return self.run(*args, **kwargs)
File "/home/ubuntu/Hypnos/hypnos/recs_jobber/tasks.py", Zeile 5, in send_sms_action
msg = twilio_client.sms.messages.create(body = sms_action.body, to=sms_action.to_number, from_=TW_NUMBER)
File "/home/ubuntu/hypnos-venv/local/lib/python2.7/site-packages/twilio/rest/resources/sms_messages.py", Zeile 167, in create
return self.create_instance(kwargs)
File "/home/ubuntu/hypnos-venv/local/lib/python2.7/site-packages/twilio/rest/resources/base.py", Zeile 352, in create_instance
data=transform_params(body))
File "/home/ubuntu/hypnos-venv/local/lib/python2.7/site-packages/twilio/rest/resources/base.py", Zeile 204, in request
resp = make_twilio_request(method, uri, auth=self.auth, **kwargs)
File "/home/ubuntu/hypnos-venv/local/lib/python2.7/site-packages/twilio/rest/resources/base.py", Zeile 129, in make_twilio_request
resp = make_request(method, uri, **kwargs)
File "/home/ubuntu/hypnos-venv/local/lib/python2.7/site-packages/twilio/rest/resources/base.py", Zeile 101, in make_request
resp, content = http.request(url, method, headers=headers, body=data)
File "/home/ubuntu/hypnos-venv/local/lib/python2.7/site-packages/httplib2/__init__.py", Zeile 1570, in request
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File "/home/ubuntu/hypnos-venv/local/lib/python2.7/site-packages/httplib2/__init__.py", Zeile 1317, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers)
File "/home/ubuntu/hypnos-venv/local/lib/python2.7/site-packages/httplib2/__init__.py", Zeile 1252, in _conn_request
conn.connect()
File "/home/ubuntu/hypnos-venv/local/lib/python2.7/site-packages/httplib2/__init__.py", Zeile 1017, in connect
sock.settimeout(self.timeout)
File "/usr/lib/python2.7/socket.py", Zeile 224, in meth
return getattr(self._sock,name)(*args)
TypeError: es wird ein Wert vom Typ float benötigt
Ich habe Celerys rdb verwendet, um in den Rahmen zu gelangen, und es scheint, dass das Timeout für den Socket nicht festgelegt ist.
(Pdb) self.timeout
Habt ihr Ideen, wie ich das lösen könnte? Der Fehler kommt von Twilio -> httplib2 -> socket.py, was ein Wrapper für _socket ist. Das ist über meinen Horizont und ich bin mir nicht sicher, wie ich das Problem angehen soll.