On Saturday, April 13, 2013 5:03:16 PM UTC-7, Russell Keith-Magee wrote:
>
>
> On Sat, Apr 13, 2013 at 11:53 PM, Pakal <chambon...@gmail.com<javascript:>
> > wrote:
>
>> Hello,
>>
>> since version 1.2, there has been no changes about this issue, which 
>> still bothers me:
>> https://code.djangoproject.com/ticket/14916
>>
>> In summary, the django dev server loads models.py of every INSTALLED_APP, 
>> and thus (somehow) ensures proper initialization of models and signals. 
>>
>> But in production, web servers do NOT load more than the strict minimum 
>> required by the requests they serve, so it opens the door to very subtle 
>> and deadly bugs, where the first requests of every new django process might 
>> miss a good part of the whole workflow, because miscellaneous "hooks" have 
>> not been registered properly.
>> Doesn't this advocate a global import of all installed_apps' models.py, 
>> at process setup ?
>>
>> And more generally, people have no idea where to put their django setup 
>> code, so there are tons of forum threads and workarounds about this, using 
>> mod_wsgi's start script, or code in urls.py/settings.py, or even 
>> dedicated on-shot middelwares (
>> http://www.allbuttonspressed.com/projects/django-autoload).
>> Wouldn't it be worth offering a place, in a project and/or in each django 
>> app, which will be called AFTER all models/signals are initialized, but 
>> BEFORE the first request is served ? Same behaviour as the "fake 
>> middleware" trick, but without its ugliness.
>>
>
> The reason there hasn't been any update to ticket #14916 is that it has 
> been closed as a duplicate of #3591. Which it is.
>
> The ticket title may not make this obvious, but if you read the full 
> ticket history and/or search for #3591 on mailing lists, you'll quickly 
> find mention of an "app refactor". The purpose of the app refactor is to 
> provide a wrapper object that can encompass application-specific 
> configuration -- including things like application startup logic and signal 
> registration -- and to provide a guaranteed and consistent order for 
> startup.
>
> There are some draft patches floating around for the app refector; as I 
> understand it, the code was *almost* ready to be merged for 1.5, but there 
> were some last minute concerns, so it was postponed. I don't think there 
> have been any major discussion since then.
>

The work continues.  Jannis and I continue to work on this project - and a 
set of defined "startup" hooks are one of the key features. The work will 
be scaled back in scope from some of the past ideas floated on #3591, some 
were technically not feasible, and others can be added in with later 
additions.

At the DjangoCon sprints in Sept Russ and I did a big review of the branch 
that I had worked on last summer. There were some productive conversations 
with other core devs at that time.

More details to follow hopefully in the following weeks-months.

-Preston

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To post to this group, send email to django-developers@googlegroups.com.
Visit this group at http://groups.google.com/group/django-developers?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to