Hi,

Is there a "clean" solution nowadays?

I am making an app that should run some specific code after the whole 
project is loaded.
I was thinking about a thread started in the models.py file of my app that 
will try X times to run the code, something like that:
success = False
attempts = 0
while not success and attempts < 10:
    attempts += 1
    try:
         run() # raise Exception if it fails
         success = True
   except:
         pass

if attempts == 10 and not success:
  # log or do something


What do you think? Any ideas?

Thanks.

Michael


Le lundi 13 décembre 2010 20:01:30 UTC+1, Pakal a écrit :
>
> I've never used these handlers yet, but from what I've browsed from 
> django's code, it seems low level handlers have nothing to import 
> models, so I guess the result would be the same. 
> I guess I'll manually import all my INSTALLED_APPS models from within 
> my settings.py or urls.py, for the moment. 
>
> But I still don't understand : where are we supposed to connect 
> signals, then ? The signaling framework only makes sense if there is a 
> clear startup phase in the server code, else it's just a nasty (and 
> silent) trap for programmers, isn't it ? 
>
> Regards, 
> Pakal 
>
>
> On 13 déc, 16:54, Harro <[email protected]> wrote: 
> > Is this mod_python specific or does it also happen with mod_wsgi or 
> > gunicorn? 
> > 
> > On Dec 13, 3:47 pm, Carl Meyer <[email protected]> wrote: 
> > 
> > > Hi, 
> > 
> > > On Dec 12, 4:40 pm, Pakal <[email protected]> wrote: 
> > 
> > > > Why, then, isn't it specified that all models.py files should be 
> > > > loaded by each starting worker ? That would solve the whole problem 
> > > > and hidden errors around startup code like signals and startup 
> checks. 
> > 
> > > This is a real issue for me as well; not necessarily that models.py 
> > > isn't loaded at startup time, but the crucial difference in behavior 
> > > between runserver and a live deployment in terms of when apps' models 
> > > are imported, due to runserver performing model validation and thus 
> > > importing all models immediately. I have more than once seen code that 
> > > worked perfectly under runserver fail in subtle ways on real 
> > > deployment for this reason. (In fact, the most popular Django search 
> > > solution, haystack, is particularly susceptible to problems of this 
> > > type, as it does some dynamic importing immediately when its models.py 
> > > is imported). 
> > 
> > > So this is certainly on my radar screen as something I'd like to look 
> > > at in the 1.4 timeframe. I'm not sure yet what a good solution would 
> > > look like, and I'm not entirely convinced that importing all models.py 
> > > at startup time is the right answer. In any case, the Google Summer of 
> > > Code work by Arthur Koziel on app-classes will impact this area, and 
> > > is scheduled for merge in the 1.4 cycle, so I'm kind of waiting for 
> > > that to land before looking at this closely. 
> > 
> > > Carl

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

Reply via email to