Mejoras a logger y limpieza de email

This commit is contained in:
2020-11-13 00:04:52 -03:00
parent 3eae0194f7
commit 1b57d705bb
6 changed files with 84 additions and 132 deletions

View File

@ -55,7 +55,7 @@ class Obtenedor(Worker):
def run(self) -> None:
self.logger.log('Starting', type(self))
self.diary.put({'action': 'Inicio de turno de Obtenedor'})
self.diary.put({'start_turn': 'Obtenedor'})
while not self.stop.is_set():
e = 0
with connect(self.url, self.port, self.user.name, self.user.password, self.ssl) as imap:
@ -75,15 +75,15 @@ class Obtenedor(Worker):
self.add_revisado(em.uid)
e += 1
self.logger.log('{0} new emails found'.format(e), type(self))
self.diary.put({'action': 'Obtenidos{0} correos nuevos'.format(e)})
self.diary.put({'message': 'Obtenidos {0} correos nuevos'.format(e)})
time.sleep(self.frec)
self.diary.put({'end_turn': 'Obtenedor'})
self.logger.log('Exiting', type(self))
self.diary.put({'action': 'Terminando el turno de Obtenedor'})
class Validador(Worker):
def __init__(self, configs, params):
super(Validador, self).__init__(configs, params)
super(Validador, self).__init__(configs=configs, params=params)
self.emails = params['queues']['emails']
self.validos = params['queues']['valid']
@ -94,7 +94,7 @@ class Validador(Worker):
def run(self):
self.logger.log('Starting', type(self))
self.diary.put({'action': 'Inicio de turno de Validador'})
self.diary.put({'start_turn': 'Validador'})
while not self.stop.is_set():
try:
em = self.emails.get(timeout=self.frec)
@ -106,7 +106,7 @@ class Validador(Worker):
continue
self.validos.put(em)
self.logger.log('Exiting', type(self))
self.diary.put({'action': 'Terminando el turno de Validador'})
self.diary.put({'end_turn': 'Validador'})
class Confirmador(Worker):
@ -115,15 +115,37 @@ class Confirmador(Worker):
self.invalidos = params['queues']['invalid']
self.frec = configs.get('supervisor.wait')
self.max = configs.get('email.max')
self.mensajes = []
def crear_mega_mensaje(self):
pass
def mandar(self):
self.logger.log('Sending {0} strange emails'.format(len(self.mensajes)), type(self))
print(self.mensajes)
def crear_mega_mensaje(self, msg):
if len(self.mensajes) >= self.max:
self.mandar()
self.mensajes = []
self.mensajes.append(msg)
def run(self) -> None:
self.logger.log('Starting', type(self))
self.diary.put({'start_turn': 'Confirmador'})
while not self.stop.is_set():
try:
em = self.invalidos.get(self.frec)
self.crear_mega_mensaje(em)
except queue.Empty:
pass
continue
self.logger.log('Exiting', type(self))
self.diary.put({'end_turn': 'Confirmador'})
class Procesador(Worker):
def __init__(self, configs, params):
super(Procesador, self).__init__(configs=configs, params=params)
def run(self) -> None:
self.diary.put({'start_turn': 'Procesador'})
self.diary.put({'end_turn': 'Procesador'})
pass