Hey,
I'm getting the following error in my logs (lots and lots), but only
after the server has been running for some time, I'm not sure what the
cause is or what I can do to remedy it.
This is what I see in the logs:
2012-12-20 17:07:17+0000 [HTTP11ClientProtocol,client] Unhandled Error
Traceback (most recent call last):
Failure: twisted.web._newclient.RequestTransmissionFailed:
[>]
2012-12-20 17:07:17+0000 [HTTP11ClientProtocol,client] Unexpected
exception from twisted.web.client.FileBodyProducer.stopProducing
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/internet/endpoints.py",
line 99, in connectionLost
return self._wrappedProtocol.connectionLost(reason)
File "/usr/local/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/web/_newclient.py",
line 859, in dispatcher
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/web/_newclient.py",
line 1458, in _connectionLost_TRANSMITTING
self._currentRequest.stopWriting()
File "/usr/local/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/web/_newclient.py",
line 760, in stopWriting
_callAppFunction(self.bodyProducer.stopProducing)
--- <exception caught here> ---
File "/usr/local/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/web/_newclient.py",
line 191, in _callAppFunction
function()
File "/usr/local/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/web/client.py",
line 760, in stopProducing
self._task.stop()
File "/usr/local/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/internet/task.py",
line 459, in stop
self._checkFinish()
File "/usr/local/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/internet/task.py",
line 469, in _checkFinish
raise self._completionState
twisted.internet.task.TaskStopped:
Just loads of those, they always seem to come through in pairs (the
first twisted.internet.error.ConnectionDone, and then the
twisted.internet.task.TaskStopped as above)
I'm just doing PUT requests with twisted.web.client.Agent and using a
twisted.web.client.FileBodyProducer to provide the content.
I'm doing the PUT while I still have the request from a render_GET, so
I thought maybe it's caused if the user disconnects while I'm doing
the PUT? The idea is I redirect them to the file I PUT with
request.redirect, which seems to work fine (until I get this error and
it doesn't)
The reason I do a PUT and redirect, instead of just writing back to
the request is that I check if the file is in a cache first, I then
only PUT if it's not there- then redirect afterwards.
Any clues or ideas of what is happening would be hugely helpful
thanks!!
Paul