async def brain(thread_executor, id_repo, tarea_repo, comando_repo, humor_repo, accion_repo, evento_repo): logger = LoggerRepository('brain') try: loop = asyncio.get_event_loop() blocking_tasks = [ loop.run_in_executor(thread_executor, Sensor(humor_repo).listen_to_task_result, evento_repo), loop.run_in_executor(thread_executor, Ejecutor().listen_for_next_tarea, id_repo, tarea_repo, evento_repo, accion_repo), loop.run_in_executor(thread_executor, Comander().listen_to_command, comando_repo, tarea_repo, accion_repo, evento_repo) ] logger.debug("Preparados los threads") return blocking_tasks except asyncio.CancelledError: pass except Exception as mgr_ex: logger.error(f"Excecion en brain: {mgr_ex}")
def __init__(self): self.logger = LoggerRepository('accion_repo') self.acciones = list()
def __init__(self): self.logger = LoggerRepository('comando_repo')
def __init__(self): self.logger = LoggerRepository('tarea_repo')
from trasto.infrastructure.awsmultiprocess.evento_repository import \ EventoRepository from trasto.infrastructure.memory.repositories import Idefier, LoggerRepository from trasto.model.events import (AccionTerminada, EstadoHumorCambiado, NuevaAccionCreada) from trasto.model.value_entities import Idd, ResultadoAccion, CodigoResultado logger = LoggerRepository('test_evento_respository') def test_send_evento_accion_terminada(): evento_repo = EventoRepository() evento = AccionTerminada(idd=Idd(Idefier()), tarea_idd=Idd(Idefier()), resultado=ResultadoAccion( codigo=CodigoResultado(codigo="BIEN"), msg="Mensaje de prueba")) assert evento_repo.pub_event(evento=evento) def test_evento_accion_terminada(): evento_repo = EventoRepository() evento = AccionTerminada( idd=Idd(Idefier()), tarea_idd=Idd(Idefier()), resultado=ResultadoAccion( codigo=CodigoResultado(codigo=CodigoResultado.BUEN_RESULTADO), msg="Mensaje de prueba"))
def __init__(self): self.logger = LoggerRepository('comando_repo') self.comandos = get_queue(COMANDOS_QUEUE_NAME)
from flask import Flask, request, jsonify from trasto.infrastructure.awsmultiprocess.accion_repository import \ AccionRepository from trasto.infrastructure.awsmultiprocess.comando_repository import \ ComandoRepository from trasto.infrastructure.memory.repositories import (EstadoDeHumorRepository, Idefier, LoggerRepository) from trasto.model.commands import ComandoNuevaAccion, ComandoNuevaTarea from trasto.model.entities import Accion, Tarea, TipoAccion from trasto.model.value_entities import Idd logger = LoggerRepository('web') accion_repo = AccionRepository() accion_repo.purge_table() app = Flask(__name__) @app.route('/', methods=[ 'GET', ]) def get_service(): logger.debug("Solicitada get_service") return { "service": "trastobrain", }
def __init__(self): self.logger = LoggerRepository('tarea_repo') self.tareas_prio = get_queue(TAREAS_PRIORITARIAS_QUEUE_NAME) self.tareas_norm = get_queue(TAREAS_NORMALES_QUEUE_NAME)
def __init__(self): self.logger = LoggerRepository('ejecutor')
def __init__(self, humor_repo: EstadoHumorRepositoryInterface): self.logger = LoggerRepository('sensor') self.humor_repo = humor_repo
def __init__(self): self.logger = LoggerRepository('evento_repo') self.eventos = get_queue(EVENTOS_QUEUE_NAME)
def __init__(self): self.logger = LoggerRepository('accion_repo') self.acciones = get_dynamodb_acciones_table()