Hello
i have some question on deploying an django app.
I'm using nginx and gunicorn to publish one django app.
For gunicorn i wanted to use gevent, because there are some calls to the app, that can take up to 5 minutes to finish (generating pdfs)
Firsts question is more an understanding question... When using gevent and only one gunicorn worker thread, all 'blocking' requests run in an seperate gevent/libevent thread correct? Thus, that call will not block the app completly right? If i understud the task of gevent correct, this is the sens of gevent right?
Now to my problem... Doing one blocking call to my app, and having only on worker, blocks my entire application.
In the gunicorn logs (startup) i can see, that gevent is used, but the calls seem to be synchronus.
Here is my nginx config
https://dpaste.de/Dfi5
and here my gunicorn
https://dpaste.de/UAqH
Can someone find some error in this config?
My next problem is, that calls that take longer than 60 seconds lead to an error if i set timeout to 120 inside the gunicorn config (504- Gateway Time-out).
Where can i tweak this? It seems like nginx is cutting the connection. The gunicorn thread is running 120 seconds and is getting restarted by gunicorn-master then (could check that by using top).
Any hints are very welcome ...
Thanks
-- i have some question on deploying an django app.
I'm using nginx and gunicorn to publish one django app.
For gunicorn i wanted to use gevent, because there are some calls to the app, that can take up to 5 minutes to finish (generating pdfs)
Firsts question is more an understanding question... When using gevent and only one gunicorn worker thread, all 'blocking' requests run in an seperate gevent/libevent thread correct? Thus, that call will not block the app completly right? If i understud the task of gevent correct, this is the sens of gevent right?
Now to my problem... Doing one blocking call to my app, and having only on worker, blocks my entire application.
In the gunicorn logs (startup) i can see, that gevent is used, but the calls seem to be synchronus.
Here is my nginx config
https://dpaste.de/Dfi5
and here my gunicorn
https://dpaste.de/UAqH
Can someone find some error in this config?
My next problem is, that calls that take longer than 60 seconds lead to an error if i set timeout to 120 inside the gunicorn config (504- Gateway Time-out).
Where can i tweak this? It seems like nginx is cutting the connection. The gunicorn thread is running 120 seconds and is getting restarted by gunicorn-master then (could check that by using top).
Any hints are very welcome ...
Thanks
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/3872c97d-35d7-4f24-9002-8099095adb2e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment