71 lines
2.2 KiB
Python
71 lines
2.2 KiB
Python
import argparse
|
|
import os
|
|
from common.helper.logging import Logging
|
|
from setup.config import load_config
|
|
import pytz
|
|
from src.bosses import Bosses
|
|
from src.instrucciones import Instrucciones
|
|
from src.email.supervisor import Email
|
|
|
|
|
|
def set_params(args, configs):
|
|
log_name = 'email'
|
|
params = {
|
|
'folders': {
|
|
'config': args.config_folder,
|
|
'log': args.log_folder,
|
|
'data': args.data_folder
|
|
},
|
|
'bosses': Bosses(args.data_folder),
|
|
'instrucciones': Instrucciones(args.data_folder),
|
|
'logging': Logging(configs.get('timezone'), args.log_folder, log_name),
|
|
'logger': {
|
|
'name': log_name
|
|
},
|
|
'filenames': {
|
|
'consultas': os.path.join(args.data_folder, configs.get('email.consultas')),
|
|
'spam': os.path.join(args.data_folder, configs.get('email.spam')),
|
|
'revisados': os.path.join(args.data_folder, configs.get('email.revisados'))
|
|
}
|
|
}
|
|
return params
|
|
|
|
|
|
def set_setup():
|
|
return {
|
|
'workers': [
|
|
('common.helper.logger', 'Worker'),
|
|
('src.email.workers', 'Obtenedor'),
|
|
('src.email.workers', 'Validador'),
|
|
('src.email.workers', 'Consultador'),
|
|
('src.email.workers', 'Borrador'),
|
|
('src.email.workers', 'Procesador')
|
|
],
|
|
'queues': ['log', 'emails', 'valid', 'invalid', 'borrar'],
|
|
'events': [],
|
|
'locks': []
|
|
}
|
|
|
|
|
|
def main(args):
|
|
configs = load_config(args.config_folder)
|
|
configs.set('timezone', pytz.timezone(configs.get('supervisor.timezone')))
|
|
|
|
params = set_params(args, configs)
|
|
|
|
setup = set_setup()
|
|
|
|
email = Email(configs=configs, params=params, setup=setup)
|
|
|
|
email.start()
|
|
email.join()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('-c', '--config_folder', default=os.path.join(os.path.realpath('../..'), 'config'))
|
|
parser.add_argument('-d', '--data_folder', default=os.path.join(os.path.realpath('../..'), 'data'))
|
|
parser.add_argument('-l', '--log_folder', default=os.path.join(os.path.realpath('../..'), 'logs'))
|
|
_args = parser.parse_args()
|
|
main(_args)
|