]> git.ipfire.org Git - ipfire.org.git/blob - www/webapp.py
Some very big changes I cannot break down to distinct commits.
[ipfire.org.git] / www / webapp.py
1 #!/usr/bin/python2.6
2
3 import daemon
4 import logging
5 import logging.handlers
6 import os
7 import signal
8 import sys
9
10 import tornado.httpserver
11 import tornado.ioloop
12 import tornado.options
13
14 from webapp import Application
15
16 tornado.options.parse_command_line()
17
18 def setupLogging():
19 formatter = logging.Formatter("%(asctime)s %(levelname)8s %(message)s")
20
21 #handler = logging.handlers.RotatingFileHandler("webapp.log",
22 # maxBytes=10*1024**2, backupCount=5)
23 handler = logging.FileHandler("webapp.log")
24
25 handler.setFormatter(formatter)
26 logging.getLogger().addHandler(handler)
27
28 if __name__ == "__main__":
29 setupLogging()
30 app = Application()
31
32 context = daemon.DaemonContext(
33 working_directory=os.getcwd(),
34 stdout=sys.stdout, stderr=sys.stderr, # XXX causes errors...
35 )
36
37 context.signal_map = {
38 signal.SIGHUP : app.reload,
39 signal.SIGTERM : app.stop,
40 }
41
42 with context:
43 app.run()