summaryrefslogtreecommitdiffstats
path: root/module/web/manage.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/web/manage.py')
-rw-r--r--module/web/manage.py27
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)