On Sat, Sep 23, 2017 at 6:21 PM, Antonis Christofides <[email protected]> wrote: > Hello Larry, > > The Django development server runs in more than one thread, which is probably > why your initialization code run twice. > > OTOH, it run only once on production probably because you have configured > uwsgi > to run only one process (it's possible that this is the default on single-core > machines). However, we usually want to run at least two processes.
I have 5 uwsgi processes - I was only seeing the init code run once because I was just sending uwsgi a reload signal. If I killed it and restarted it I was seeing the init code run 5 times. > Running initialization code only once per wsgi server (re)start instead of > once > per process start seems a bit strange. Why do you need this? I had not been given all the requirements. Turns out what we need to do should not be part of the server init, so we moved it somewhere else. > On 2017-09-23 21:50, Larry Martell wrote: >> On Sat, Sep 23, 2017 at 2:39 PM, Larry Martell <[email protected]> >> wrote: >>> On Sat, Sep 23, 2017 at 1:34 PM, James Schneider >>> <[email protected]> wrote: >>>> >>>> On Sep 22, 2017 2:58 PM, "Larry Martell" <[email protected]> wrote: >>>> >>>> We have some code we want to run 1 time when our django app is >>>> started. What is the best place for this? I tried putting it in my >>>> app's config function, but from there I get: >>>> >>>> *** AppRegistryNotReady: Apps aren't loaded yet. >>>> >>>> >>>> Once as in only when the app is initially deployed, or once every time the >>>> web server process is started? >>>> >>>> Note that if you place code to run every time the web process is started, >>>> that it will run for every process, and most web servers spawn multiple >>>> processes. >>> I'm looking to run it once when the web server is started (not each >>> time another process of the web server is started) >> I am using nginx and uwsgi. I tried experimenting with Antonis >> Christofides suggestion of using AppConfig.ready(). That seems to get >> called just once when I start (or restart uwsgi). I tried many >> connections to the server from different browsers and computers, but >> still that was only called once. Is that something I can count on? >> >> Note, when running the devel django server it was called twice at >> start up, but when the 'real' server it was only called once. Anyone >> know why I got the 2 calls here? -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CACwCsY6wx-XwRQLdb_D35E8yL%3DmstpKczchQ4HJpB4WzHXv3nA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

