def __init__(self, name, loader=None, use_ssl=False, max_url_len=None): """Initialize, but do not start the WSGI server. :param name: The name of the WSGI server given to the loader. :param loader: Loads the WSGI application using the given name. :returns: None """ self.name = name self.manager = self._get_manager() self.loader = loader or wsgi.Loader() self.app = self.loader.load_app(name) self.host = '0.0.0.0' self.port = CONF.get('port', 443) self.workers = 1 if self.workers and self.workers < 1: worker_name = '%s_workers' % name msg = (_("%(worker_name)s value of %(workers)s is invalid, " "must be greater than 0") % {'worker_name': worker_name, 'workers': str(self.workers)}) raise exception.InvalidInput(msg) self.use_ssl = use_ssl self.server = wsgi.Server(name, self.app, host=self.host, port=self.port, use_ssl=self.use_ssl, max_url_len=max_url_len) # Pull back actual port used self.port = self.server.port self.backdoor_port = None
def main(): try: wsgi.set_eventlet_hub() server = wsgi.Server() # This equals to: # vi /etc/paste.ini #[app:server] #paste.app_factory = router:API.factory #from paste import deploy #server.start(deploy.loadapp("config:/etc/paste.ini", name="server"), default_port=35357) server.start(router.API.factory(None), default_port=35357) # Or server.start(router.API(wsgi.APIMapper()), default_port=35357) server.wait() except: fail()
def _run_wsgi(app_name): configfile = CONF.paste_file configfile = 'c://etc/knight/api-paste.ini' port = CONF.port listen_addr = CONF.listen_addr appname = "knight" ''' start tasks scheuler thread ''' thr_custom = Thread(target=task_scheduler.custum_task_scheduler, name='task scheduler') thr_custom.start() m_th = MonitorThread(thr_custom) m_th.start() ''' start timer scheduler thread ''' # thr_timer = timer_scheduler.TimerThread() # thr_timer.start() global_config = { '__file__': 'c:\\etc\\knight\\api-paste.ini', 'here': 'c:\\etc\\knight' } local_config = {'version': '1.0.0'} app = router.APIRouter.factory(global_config, **local_config) if not app: LOG.error(('No known API applications configured.')) return server = wsgi.Server(appname) server.start(app, port, listen_addr) LOG.info('start server') return server
def __init__(self): self.loader = wsgi.Loader() self.app = self.loader.load_app() self.server = wsgi.Server(self.app, '0.0.0.0', 8080)