blob: f1122d6097b93b612d583f8cba1abff69f37f105 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# vim:fileencoding=utf8:et:ts=4:sts=4:sw=4:ft=python
"""
WSGI config for okupy project.
This module contains the WSGI application used by Django's development server
and any production WSGI deployments. It should expose a module-level variable
named ``application``. Django's ``runserver`` and ``runfcgi`` commands discover
this application via the ``WSGI_APPLICATION`` setting.
Usually you will have the standard Django WSGI application here, but it also
might make sense to replace the whole Django WSGI application with a custom one
that later delegates to the Django one. For example, you could introduce WSGI
middleware here, or combine a Django application with an application of another
framework.
"""
import os
# We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks
# if running multiple sites in the same mod_wsgi process. To fix this, use
# mod_wsgi daemon mode with each site in its own daemon process, or use
# os.environ["DJANGO_SETTINGS_MODULE"] = "okupy.settings"
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "okupy.settings")
# This application object is used by any WSGI server configured to use this
# file. This includes Django's development server, if the WSGI_APPLICATION
# setting points here.
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
# Apply WSGI middleware here.
# from helloworld.wsgi import HelloWorldApplication
# application = HelloWorldApplication(application)
# from http://projects.unbit.it/uwsgi/wiki/TipsAndTricks
# AUTHOR: Simone Federici
try:
# uwsgi module is only available when running from uwsgi
import uwsgi
except ImportError:
# we're probably running from django's built-in server
pass
else:
from uwsgidecorators import postfork, thread, timer
from django.utils import autoreload
# autodiscover SSH handlers
import okupy.accounts.ssh # noqa
from okupy.common.ssh import ssh_main
import Crypto.Random
postfork(thread(ssh_main))
@postfork
def reset_rng():
Crypto.Random.atfork()
@timer(5)
def change_code_gracefull_reload(sig):
if autoreload.code_changed():
uwsgi.reload()
|