def __init__(self, parent: object = None, ip: str = '0.0.0.0', port: str = '0'): threading.Thread.__init__(self) try: self.parent = parent protocol = 'tcp' if self.parent.type.lower( ) == 'management' or self.parent.type.lower() == 'schedule': protocol = 'http' self.url = str("%s://%s:%s" % (protocol, ip, port)) self.service = None if self.parent.type.lower() == 'management': wsgi_application = WsgiApplication(Management) self.server = make_server(ip, int(port), wsgi_application) self.service = self.server.application.app.services[0] self.service.handler = parent elif self.parent.type.lower() == 'schedule': wsgi_application = WsgiApplication(Schedule) self.server = make_server(ip, int(port), wsgi_application) self.service = self.server.application.app.services[0] self.service.handler = parent else: self.server = ZeroMQServer(Common, self.url) self.service = self.server.app.services[0] self.service.handler = parent except Exception as ex: logger.error("RPC Server Exception : %s", str(ex)) self.parent.parent.writeLog( self, str("---- %s Handler RPC Server (%s) Exception ----" % (self.parent.type, self.url))) pass
def main(): url = "tcp://%s:%d" % (host, port) logging.basicConfig(level=logging.DEBUG) logging.getLogger('spyne.protocol.xml').setLevel(logging.DEBUG) server = ZeroMQServer(soap11_application, url) logging.info("************************") logging.info("Use Ctrl+\\ to exit if Ctrl-C does not work.") logging.info("See the 'I can't Ctrl-C my Python/Ruby application. Help!' " "question in http://www.zeromq.org/area:faq for more info.") logging.info("listening on %r" % url) logging.info("************************") server.serve_forever()
import logging from app import app from spyne.server.zeromq import ZeroMQServer URL = "tcp://127.0.0.1:5001" logging.info("Listening to %r", URL) s = ZeroMQServer(app, URL) s.serve_forever()