| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- # -*- coding: utf-8 -*-
- """
- Modulo principal para ejecutar el modelo de subasta
- """
- import logging
- from logging.handlers import RotatingFileHandler
- import queue
- import shutil
- import sys
- from simsdt.model import ModeloSubasta
- from qhandler import QueueHandler
- # log_queue = queue.Queue()
- # qh = QueueHandler(log_queue)
- # formatter = logging.Formatter(
- # '%(asctime)s: %(message)s', datefmt='%Y-%m-%dT%H:%M:%S')
- # qh.setFormatter(formatter)
- fh = RotatingFileHandler(
- 'log/simsdt_run_monitor.log', maxBytes=1024*50, backupCount=10)
- fmt = logging.Formatter(
- '%(asctime)s - %(name)s - %(levelname)s - %(message)s', datefmt='%Y-%m-%dT%H:%M:%S')
- fh.setFormatter(fmt)
- ch = logging.StreamHandler()
- ch.setFormatter(fmt)
- run_logger = logging.getLogger('simsdt.run')
- run_logger.setLevel(logging.INFO)
- run_logger.addHandler(fh)
- # run_logger.addHandler(qh)
- # run_logger.addHandler(ch)
- def main(file, solver_path='', q=None):
- """Ejecuta la Simulación de Subastas de Derechos de Transmisión."""
- if not file:
- run_logger.error('No se incluyo un archivo para la ejecucion')
- return
- # Check if solver 'ipopt' is on path
- run_logger.info('Verificando que exista el solver ipopt')
- solver_path = shutil.which('ipopt')
- if(solver_path):
- run_logger.info('Ubicación del solver: {}'.format(solver_path))
- else:
- run_logger.error('El solver no se encuentra en el PATH')
- return
- run_logger.info("Inicio de la ejecucion del modelo de subasta")
- modelo_subasta = ModeloSubasta(file, solver_path)
- try:
- modelo_subasta.setmodel()
- except Exception as e:
- run_logger.error(e)
- return
- if __name__ == "__main__":
- if len(sys.argv) < 2:
- print("Se debe incluir un archivo")
- else:
- main(sys.argv[1])
|