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.

Reply via email to