Exemplo n.º 1
0
def run (settings):
	host = '0.0.0.0' # settings.get('connection', 'host')
	port = settings.getint('connection', 'port')

	State.init_settings(web_url = settings.get('main', 'web_url'))

	db.init(sqlalchemy.engine_from_config({
		'sqlalchemy.url': settings.get('database', 'url'),
	}), {})

	logger.info("listening on ws://%s:%s", host, port)
	websocket_server = gevent.pywsgi.WSGIServer((host, port), websocket_app, handler_class = QuietWebSocketHandler)
	websocket_server.set_environ({
		'server': websocket_server,
	})
	websocket_server.start()

	try:
		websocket_server.serve_forever()
	except KeyboardInterrupt:
		logger.info("interrupted")
	else:
		logger.info("[!] stopped due to error")