# pylint: disable=broad-except, attribute-defined-outside-init
from __future__ import annotations
-import logging
from typing import Callable, Dict, List, Union, Type, TYPE_CHECKING
from o2ims.domain import commands, events
if TYPE_CHECKING:
from . import unit_of_work
-logger = logging.getLogger(__name__)
+from o2common.helper import o2logging
+logger = o2logging.get_logger(__name__)
Message = Union[commands.Command, events.Event]
self.queue = [message]
while self.queue:
message = self.queue.pop(0)
- if isinstance(message, events.Event):
+ if not message:
+ continue
+ elif isinstance(message, events.Event):
self.handle_event(message)
elif isinstance(message, commands.Command):
self.handle_command(message)
handler = self.command_handlers[type(command)]
handler(command)
self.queue.extend(self.uow.collect_new_events())
- except Exception:
+ except Exception as ex:
logger.exception("Exception handling command %s", command)
- raise
+ raise ex