Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is gunicorn_django not recommended anymore?

We have an app deployed using gunicorn_django in production. I've noticed that it's no longer recommended. I'm wondering why it's not recommended, and whether we need to migrate to the newer way.

From https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/gunicorn/

If you run Django 1.4 or newer, it’s highly recommended to simply run your application with the WSGI interface using the gunicorn command.

like image 463
Nils Avatar asked May 04 '13 00:05

Nils


1 Answers

The essential part of gunicorn_django, wsgi.py, became integrated in Django itself.

To quote an already existing answer:

Starting with Django 1.4, your project will already have a wsgi.py, which can be used with any wsgi server (of which there are many, gunicorn being just one).

Essentially the old Django integration for gunicorn was just a convenience to get you up and running faster, but it's no longer necessary because all Django projects now have wsgi.py.

UPDATE

First of all, in Gunicorn 18.0 gunicorn_django became deprecated.

Second, since the first writing of this answer I have personally encountered obscure errors that were specific to gunicorn_django in conjunction with --settings command line parameter (gunicorn command and ./manage.py runserver worked fine).

Namely, the obscure import error application.some_model: 'field' has a relation with model another_application.AnotherModel, which has either not been installed or is abstract.

So, no, I would not recommend you using gunicorn_django in your new projects.

like image 74
Ivan Kharlamov Avatar answered Oct 03 '22 03:10

Ivan Kharlamov