I'm looking for examples of gevent in production for my EuroPython presentation.
If you don't mind free advertisement, please share the details about your app.
Would be cool if you mentioned
- the avg/peak number of concurrent users/connections/requests the app
handles (if server-side)
- how much hardware (memory) does it need to do that
- if it was re-written in gevent, what did you use before and how much
gevent improved resource usage / reduced the complexity / ...
- any other detail that you think is impressive
If you are going to respond privately, please mention which
information is OK to share.
My presentation is scheduled on Thursday 22 July 2010, Recital Hall.
Would love to chat about gevent with anyone who is going to be at EuroPython.
Thanks,
Denis.
2010/7/11 Denis Bilenko <denis....@gmail.com>:
--
WBR, Dan Korostelev
> [...] Also, using
> gevent+psycopg2 I can easilly make my DB connection asynchronous
> without complexity of callbacks, also it makes it easy to use
> SQLAlchemy in async environment.
Sweet! Are you using psycopg 2.2 with a wait callback for this? I'd be
interested in some feedback.
-- Daniele
Check out this thread on eventlet mailing list:
https://lists.secondlife.com/pipermail/eventletdev/2010-March/000793.html
m.
I'm not the OP to which you addressed that question, but: At Spotify
we have been slowly trying out gevent lately; one of the applications
included use of psycopg.
Your support for the wait callback was very much appreciated. You
literally posted about it the very day I was going to sit down and
figure out how to best make psycopg work with gevent and it exactly
fit the bill.
We have used gevent+psycopg in production a little bit. However, the
usage was such as to not exercise the feature set of psycopg, nor
under any kind of high load (except during offline benchmarking).
However even so, I can happily report that we have not yet seen any
problems that could be traced back to psycopg or the
gevent/wait_callback integration.
--
/ Peter Schuller
Thanks for sharing!
On Aug 14, 2010, at 12:56 PM, Cyril B. wrote:
...
> - Tornado had a few important bugs related to epoll
> - we had to patch Tornado quite a lot to do what we wanted (including
> to fix really bad performance issues)
Would you be so kind to explain these issues a little bit more or point to the relevant tickets?
> We first tried gevent and eventlet, and soon figured out they both had
> the very same annoying bug. I reported it on both bug trackers, and in
> the meantime tried syncless, which didn't have that specific bug.
Which bug was this?
Cheers,
Nicholas
- as far as bugs are concerned, here are a few I remember:
- in iostream, I sometimes had a recursion limit exception when my
callback called read_bytes (or read_until), and so on. It happened
with HTTP chunked encoding with very small chunks. I used a trick
where the callback would unwind the stack when the recursion reached a
specific number of occurrences (before the recursion limit exception
would be raised)
--
Cyril