On Aug 2, 2012, at 9:44 PM, Matthias Urlichs <matth
...@urlichs.de> wrote:
> Hi,
> André Cruz:
>> And so the next time a get() finds an empty Queue Empty is raised immediately. Does anyone know how this can happen?
> What does the backtrace from that exception look like?
I have two backtraces:
Traceback (most recent call last):
File "/Users/andre/work/vc/disco/site/utils/common.py", line 59, in read
data = self.generator(to_read)
File "/Users/andre/work/vc/disco/site/api/content.py", line 52, in read
new_data = self.dataq.get(timeout=60.0)
File "/Users/andre/work/penv/discosite/lib/python2.7/site-packages/gevent/queue. py", line 195, in get
raise Empty
Queue.Empty
and
Traceback (most recent call last):
File "/Users/andre/work/penv/discosite/lib/python2.7/site-packages/gevent/greenl et.py", line 328, in run
result = self._run(*self.args, **self.kwargs)
File "/Users/andre/work/vc/disco/site/utils/common.py", line 93, in obtain_blocks_swift
clusterid, tmpname = swift.upload_block(slicer, block_size)
File "/Users/andre/work/vc/disco/site/utils/swift.py", line 134, in upload_block
curl.perform()
File "/Users/andre/work/vc/disco/site/utils/geventcurl.py", line 219, in perform
return self.finish()
File "/Users/andre/work/vc/disco/site/utils/geventcurl.py", line 210, in finish
return self._obj.waiter.get()
File "/Users/andre/work/penv/discosite/lib/python2.7/site-packages/gevent/event. py", line 235, in get
raise self._exception
CurlError: HTTP 599: operation aborted by callback
<Greenlet at 0x110762d70: obtain_blocks_swift(UUID('4501548b-bd40-406b-8da5-d778e4a04e17'), <bound method Feeder.read of <api.content.Feeder o)> failed with CurlError
I have a Curl upload which is fetching data from a Queue. btw, this is using the runserver command from Django, uWSGI is not involved in any way. I used geventcurl.py from here https://bitbucket.org/xitrium/gevent-curl/src/82eb2d360998/geventcurl.py
André