#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.