createing iro-service.tac devel
authorSandro Knauß <knauss@netzguerilla.net>
Fri, 16 Mar 2012 12:57:21 +0100
branchdevel
changeset 229 1bd4c7f58b3f
parent 228 944edbe51145
child 230 448dd8d36839
createing iro-service.tac
iro-service.tac
iro.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/iro-service.tac	Fri Mar 16 12:57:21 2012 +0100
@@ -0,0 +1,41 @@
+from twisted.application.service import Service, Application
+from twisted.application import internet
+from twisted.web import resource, server
+from twisted.internet import reactor
+from twisted.python import log
+
+from sqlalchemy import create_engine, pool
+
+from iro import config
+from iro.view import xmlrpc
+from iro.model import setEngine, setPool
+from iro.controller.pool import startPool, dbPool
+
+class IroService(Service):
+    def startService(self):
+        log.msg("Starting service...")
+        engine = create_engine(config.main.dburl,
+               poolclass = pool.SingletonThreadPool,  pool_size=dbPool.maxthreads, )
+
+        setEngine(engine)
+        startPool(reactor)
+        setPool(dbPool)
+        reactor.callWhenRunning(config.readConfig)
+
+
+def get_application():
+    app = Application("Iro")
+    config.init()
+
+    root = resource.Resource()
+    root = xmlrpc.appendResource(root)
+    
+    v2 = resource.Resource()
+    v2 = xmlrpc.appendResource(root)
+    root.putChild('2.0', v2)
+
+    internet.TCPServer(config.main.port, server.Site(root)).setServiceParent(app)
+    IroService().setServiceParent(app)
+    return app
+
+application = get_application()
--- a/iro.py	Fri Mar 16 12:56:48 2012 +0100
+++ b/iro.py	Fri Mar 16 12:57:21 2012 +0100
@@ -78,12 +78,14 @@
     logging.info("Now you can run "+sys.argv[0])
     sys.exit(1)
 
-root = resource.Resource()
-root = xmlrpc.appendResource(root)
+
+#start via cmdline
+#root = resource.Resource()
+#root = xmlrpc.appendResource(root)
 
-v2 = resource.Resource()
-v2 = xmlrpc.appendResource(root)
-root.putChild('2.0', v2)
+#v2 = resource.Resource()
+#v2 = xmlrpc.appendResource(root)
+#root.putChild('2.0', v2)
 
-reactor.callLater(0.2, config.readConfig)
-main.runReactor(reactor, engine, config.main.port, root)
+#reactor.callLater(0.2, config.readConfig)
+#main.runReactor(reactor, engine, config.main.port, root)