It runs twice because runserver uses two processes: the real server, and; the monitoring process that restarts the other when you change a source file. You could fool around with undocumented internals to figure out which a given import is running in. Or you could use a modifies runserver command. Or you could modify manage.py. Or you could, if your O/S supports it, open a file for exclusive use and the one that can't knows that it is the server process.
On Jul 30, 2014 7:30 PM, "Mike Dewhirst" <miked@dewhirst.com.au> wrote:
-- On 31/07/2014 5:57 AM, Chen Xu wrote:
Hi Everyone:
I would like to call a function when my project starts, basically I want
to call a do_something() when I run python manage.py runserver. However,
when I put it into settings.py, it gets called twice, but I only want it
to execute once.
Is there a good way to do it.
Maybe you could turn do_something() a singleton so it only executes once?
http://stackoverflow.com/questions/6760685/creating-a-singleton-in-python
Thanks
--
âš¡ Chen Xu âš¡
--
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 django-users+unsubscribe@googlegroups.com
<mailto:django-users+unsubscribe@googlegroups.com>.
To post to this group, send email to django-users@googlegroups.com
<mailto:django-users@googlegroups.com>.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/CACac-qbTXbMGmYU%3D5R618rbt7pT%3DgTL%3DWAxhCR-prmuLbz-VKw%40mail.gmail.com
<https://groups.google.com/d/msgid/django-users/CACac-qbTXbMGmYU%3D5R618rbt7pT%3DgTL%3DWAxhCR-prmuLbz-VKw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
--
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 django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/53D97FE6.3000301%40dewhirst.com.au.
For more options, visit https://groups.google.com/d/optout.
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 django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAB%2BAj0v1qGWYCXtJxBGqCRwSmYGfF%3DM54JXomAp-k-Hdd4OZAg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment