示例#1
0
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",
    }
示例#8
0
 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)
示例#9
0
 def __init__(self):
     self.logger = LoggerRepository('ejecutor')
示例#10
0
 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()