#24523: django.apps.registry.populate() does not handle failures in
app_config.ready()
--------------------------------------+------------------------------------
     Reporter:  kalium99              |                    Owner:  nobody
         Type:  Cleanup/optimization  |                   Status:  new
    Component:  Core (Other)          |                  Version:  master
     Severity:  Normal                |               Resolution:
     Keywords:                        |             Triage Stage:  Accepted
    Has patch:  0                     |      Needs documentation:  0
  Needs tests:  0                     |  Patch needs improvement:  0
Easy pickings:  0                     |                    UI/UX:  0
--------------------------------------+------------------------------------

Comment (by aaugustin):

 Clearly the immediate answer to the OP is "don't execute queries at import
 time". But a `ready()` method could fail for another reasons. For instance
 it could import a dependency which isn't installed.

 In the scenario discussed here, mod_wsgi:

 1. fails to import the application object (that's your first traceback,
 which is fine)
 2. retries to import it in the same Python process (that's your second
 traceback)

 It's unclear to me that this is a good idea. If importing the WSGI
 application fails, I don't expect the Python environment to be reused. I'd
 like to know what Graham Dumpleton thinks about this.

 In the same situation, gunicorn reports that workers have failed to boot
 and doesn't do anything.

--
Ticket URL: <https://code.djangoproject.com/ticket/24523#comment:12>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/066.9d973ef9c193635aae1f662272249c81%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to