def start(): if len(sys.argv) > 2: print("Usage: python congregate.py <configfile>") else: try: c = Congregate() try: try: asyncio.get_event_loop().run_forever() except Exception as e: log.info("mainloop exception") log.error(e) except KeyboardInterrupt: c.shutdown() finally: asyncio.get_event_loop().close() print('\nShutdown complete') except Exception as e: log.info("System failure: {}".format(e))
def mainloop(self, websocket, path): try: input_msg = yield from websocket.recv() log.debug("< {}".format(input_msg)) if self.conf['use_single_port']: output_msg = self.direct_msg(input_msg) else: #using this port for external requests only output_msg = yield from self.handle_external_request(input_msg) if output_msg: yield from websocket.send(output_msg) #self.bmsgs.append(output_msg) else: yield from websocket.send("Hello from Congregate!") log.error("got bad input from peer") # adapt here # reconfig requests except Exception as e: log.debug(input_msg) log.error("mainloop exception: {}".format(e))