We have a product using mod_wsgi with django on linux (centos6). We have
some very long running api commands, and so we'd like to have things
separated so that the api cannot lock users out of the user interface. To
do this I thought I should be able to use process groups to separate out
the two, so something along these lines:
WSGIDaemonProcess product user=django group=django processes=3 threads=1
shutdown-timeout=600 display-name=product python-home=/usr/lib/venv
WSGIDaemonProcess api user=django group=django processes=3 threads=1
shutdown-timeout=600 display-name=api python-home=/usr/lib/venv
WSGIScriptAlias /
/usr/lib/venv/lib/python2.7/site-packages/our_project/wsgi.py
<Location ~ "/rest">
WSGIApplicationGroup api
WSGIProcessGroup api
WSGIRestrictProcess api
Require all granted
</Location>
<Location ~ "/(ui|product)">
WSGIApplicationGroup product
WSGIProcessGroup product
WSGIRestrictProcess product
Require all granted
</Location>
At first this appeared to work, I set a particular api to just do
time.sleep(600) and made several requests to it, and I was still able to
use the UI... but only for a while. At some point the UI stopped accepting
requests as well. I guess my question is, am I doing this right, or are
there other considerations I need to take in order to now allow certian
long-running URLs to freeze up the entire process pool?
Thanks!
-Reece
--
You received this message because you are subscribed to the Google Groups
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.