These uwsgi features are pretty neat! Thank you! I&#39;ll try this.<br><br><div class="gmail_quote">On Sat, Jul 14, 2012 at 1:52 PM, Roberto De Ioris <span dir="ltr">&lt;<a href="mailto:roberto@unbit.it" target="_blank">roberto@unbit.it</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
&gt; Hi list,<br>
&gt;<br>
&gt; I am running a site with django + uwsgi, I have few questions about how<br>
&gt; WSGI works.<br>
&gt;<br>
&gt; 1. Is db connection open/close handled by Django? If it&#39;s open/closed per<br>
&gt; request, can we make a connection pool in wsgi level, then multiple django<br>
&gt; views can share it?<br>
&gt;<br>
&gt; 2. As a general design consideration, can we execute some task *after* the<br>
&gt; response has returned to client? I have some heavy data processing need to<br>
&gt; be done after return HttpResponse() in django, the standard way to do this<br>
&gt; seems like Celery or other task queue with a broker. It&#39;s just too<br>
&gt; heavyweight. Is it possible to do some simple background task in WSGI<br>
&gt; directly?<br>
<br>
</div></div>You can abuse one of the feature you already found in uWSGI.<br>
<br>
The simplest approach would be using the Spooler (check uWSGI docs).<br>
<br>
It is a simplified celery, where the queue is a simple &#39;spool directory&#39;<br>
(like a printing system).<br>
<br>
A non-uWSGI related trick, would be having a thread pool (one for each<br>
worker) in which you enqueue tasks from the request handler:<br>
<br>
<a href="http://projects.unbit.it/uwsgi/wiki/Example#threadqueue" target="_blank">http://projects.unbit.it/uwsgi/wiki/Example#threadqueue</a><br>
<br>
There are other solutions to your problem, but all are not relevant to<br>
WSGI, so you may want to move to discussion to the uWSGI list directly.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Roberto De Ioris<br>
<a href="http://unbit.it" target="_blank">http://unbit.it</a><br>
</font></span></blockquote></div><br>