class Capturator(Thread): def __init__(self, config): Thread.__init__(self) self.config = config self.store = None self.cli = Client(config['host'],self.config['port']) self.start() def run(self): while True: data = self.cli.recv() if(data is None): self.cli = Client(self.config['host'], self.config['port']) else: num_cont = Cont().get_cont(self.config['counter']) data = data.decode('utf-8').replace('\n','') + '\n' Log().save_line(self.config['file_name'], 'acum', data) regs_store = {"id": num_cont, "data": data} # creando el diccionario con los datos recibidos while self.store == None: print("Capture:\tConectando a MongoDB") self.store = DB().connect(self.config['db_host'], self.config['db_name'], self.config['client_name']) time.sleep(1) try: self.store.insert(regs_store) print('Capture:\t['+self.config['client_name']+'] -> '+num_cont + ' - ' +data) except: print('Capture:\tError en MongoDB, reintentando...') time.sleep(0)