Sunday, December 2, 2012

Re: Django throws ImproperlyConfigured error when loading URLconf on startup

I've noticed this same behaviour as well but only with a higher loaded production server and using the gunicorn gevent class, i've never seen this happen with a sync class.

I'll take a wild guess that gevent worker class is handling requests before django has had a chance to initialize. Perhaps django does some sort of blocking on startup and the gevent monkey patching prevents this blocking behaviour on startup. Just a wild guess.

On Wednesday, November 28, 2012 3:03:10 PM UTC-8, Michael Dippery wrote:
I have a Django app running on a production server. It is handled with gunicorn 0.14.2 behind nginx. When I reload the app (by reloading the gunicorn workers), I get this error:

---
Traceback (most recent call last):

 File "/opt/app/venv/myapp/lib/python2.6/site-packages/django/core/handlers/base.py", line 101, in get_response
   request.path_info)

 File "/opt/app/venv/myapp/lib/python2.6/site-packages/django/core/urlresolvers.py", line 250, in resolve
   for pattern in self.url_patterns:

 File "/opt/app/venv/myapp/lib/python2.6/site-packages/django/core/urlresolvers.py", line 283, in _get_url_patterns
   raise ImproperlyConfigured("The included urlconf %s doesn't have any patterns in it" % self.urlconf_name)

ImproperlyConfigured: The included urlconf myapp.urls doesn't have any patterns in it
---

Others with this problem have commonly noted that it occurs while using reverse in a URLconf, but I am not using reverse in any URLconfs (nor are they used in any third-party apps). Also, this error only occurs in production -- never in development (using the Django dev server) or on my staging server (also using gunicorn 0.14.2 behind nginx). It also doesn't seem to cause trouble with the site at any other time then during reloads. And it only happens for the first 10-20 requests on the website (which makes me wonder if it's some sort of race condition, perhaps).

Any ideas what's causing the problem?

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/KhaMhHaubnEJ.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment