Re: question about connection pool, task queue in WSGI
est <[email protected]> Sat, 14 Jul 2012 15:38:15 +0800
| Newsgroups | gmane.comp.python.web |
|---|---|
| Message-ID | <CA+=kK2+hh5yJDd5T970eD3Mxdv3dwTefZhaKzHEu3oc+qk2Y5g@mail.gmail.com> |
These uwsgi features are pretty neat! Thank you! I'll try this. On Sat, Jul 14, 2012 at 1:52 PM, Roberto De Ioris <[email protected]> wrote: > > > Hi list, > > > > I am running a site with django + uwsgi, I have few questions about how > > WSGI works. > > > > 1. Is db connection open/close handled by Django? If it's open/closed per > > request, can we make a connection pool in wsgi level, then multiple > django > > views can share it? > > > > 2. As a general design consideration, can we execute some task *after* > the > > response has returned to client? I have some heavy data processing need > to > > be done after return HttpResponse() in django, the standard way to do > this > > seems like Celery or other task queue with a broker. It's just too > > heavyweight. Is it possible to do some simple background task in WSGI > > directly? > > You can abuse one of the feature you already found in uWSGI. > > The simplest approach would be using the Spooler (check uWSGI docs). > > It is a simplified celery, where the queue is a simple 'spool directory' > (like a printing system). > > A non-uWSGI related trick, would be having a thread pool (one for each > worker) in which you enqueue tasks from the request handler: > > http://projects.unbit.it/uwsgi/wiki/Example#threadqueue > > There are other solutions to your problem, but all are not relevant to > WSGI, so you may want to move to discussion to the uWSGI list directly. > > -- > Roberto De Ioris > http://unbit.it > _______________________________________________ Web-SIG mailing list [email protected] Web SIG: http://www.python.org/sigs/web-sig Unsubscribe: http://mail.python.org/mailman/options/web-sig/gcpw-web-sig%40m.gmane.org