Exemple #1
0
class Service:
    def __init__(self, machine=None):
        try:
            self.config_man = ConfigManager()
            self.configure(machine)
            self.host, self.port = self.get_server_configs()
            self.address = zmqc.get_tcp_address(self.host, self.port)
            self.ctx = zmq.Context(io_threads=1)
            self.socket = zmqc.init_server(self.ctx, self.address)
        except Exception as e:
            print(str(e))
            self.terminate()

    def configure(self, machine=None):
        self.configs = self.config_man.get_configurations(
            self.__class__.__name__, machine)

    def get_server_configs(self):
        raise NotImplementedError

    def load(self, arg):
        raise NotImplementedError

    def handle_requests(self, arg):
        raise NotImplementedError

    def terminate(self):
        if self.socket is not None:
            self.socket.close()
            print("Socket closed properly.")