diff options
Diffstat (limited to 'module/web/manage.py')
-rw-r--r-- | module/web/manage.py | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/module/web/manage.py b/module/web/manage.py index ae9495854..782f6fbe0 100644 --- a/module/web/manage.py +++ b/module/web/manage.py @@ -1,12 +1,21 @@ #!/usr/bin/env python -from django.core.management import execute_manager -try: - import settings # Assumed to be in the same directory. -except ImportError: - import sys - sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__) - sys.exit(1) +import os -if __name__ == "__main__": - execute_manager(settings) +pid = os.fork() + +if pid: + with open("webserver.pid", "w") as f: + f.write(str(pid)) +else: + from django.core.management import execute_manager + + try: + import settings # Assumed to be in the same directory. + except ImportError: + import sys + sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__) + sys.exit(1) + + if __name__ == "__main__": + execute_manager(settings) |