示例#1
0
文件: server.py 项目: woome/drivel
 def start(self, start_listeners=True):
     self.log('Server', 'info', 'starting server')
     for name in self.config.components:
         self.components[name] = self.config.components.import_(name)(self,
             name)
     self._greenlet = eventlet.spawn(self._process)
     if start_listeners and 'backdoor_port' in self.config.server:
         # enable backdoor console
         bdport = self.config.getint(('server', 'backdoor_port'))
         self.log('Server', 'info', 'enabling backdoor on port %s'
             % bdport)
         eventlet.spawn(backdoor.backdoor_server,
             eventlet.listen(('127.0.0.1', bdport)),
             locals={'server': self,
                     'debug': debug,
                     'exit': safe_exit(),
                     'quit': safe_exit(),
                     'stats': lambda: pprint.pprint(self.stats()),
             })
     app = create_application(self)
     dirs = self.config.server.get('static_directories', None)
     if dirs is not None:
         app = StaticFileServer(dirs.split(','), app, self)
     self.wsgiapp = app
     if start_listeners:
         numsimulreq = self.config.get(('http', 'max_simultaneous_reqs'))
         host = self.config.http.address
         port = self.config.http.getint('port')
         sock = eventlet.listen((host, port))
         pool = self.server_pool = eventlet.GreenPool(10000)
         log = (self.options.nohttp or self.options.statdump) and \
             dummylog() or None
         wsgi.server(sock, app, custom_pool=pool, log=log)
示例#2
0
 def _serve_http(self):
     app = create_application(self)
     self.wsgiapp = app
     wsgi.server(self.httpsock, app)