Skeleton ready
This commit is contained in:
37
entry/log_user_messages.py
Normal file
37
entry/log_user_messages.py
Normal file
@@ -0,0 +1,37 @@
|
||||
import asyncio
|
||||
|
||||
from punq import Container
|
||||
from aio_pika.abc import AbstractIncomingMessage
|
||||
from pyee import EventEmitter
|
||||
|
||||
from shared.application.factory.application import Application as ApplicationFactory
|
||||
from shared.event.type import Type as EventType
|
||||
|
||||
from feature.listen_user_message.listen_user_message import ListenUserMessage
|
||||
from feature.log_bus_message.log_bus_message import LogBusMessage
|
||||
|
||||
from feature.listen_user_message.manager.message import Message as MessageManager
|
||||
|
||||
|
||||
async def main(container: Container, message: AbstractIncomingMessage) -> None:
|
||||
manager = container.resolve(MessageManager, message=message)
|
||||
emitter = container.resolve(EventEmitter)
|
||||
event = EventType.MESSAGE_RECEIVED
|
||||
|
||||
try:
|
||||
received = manager.get_message()
|
||||
emitter.emit(event, received)
|
||||
|
||||
await message.ack()
|
||||
except Exception:
|
||||
await message.reject()
|
||||
|
||||
if __name__ == "__main__":
|
||||
factory = ApplicationFactory()
|
||||
|
||||
application = factory.create_rabbitmq([
|
||||
ListenUserMessage,
|
||||
LogBusMessage
|
||||
])
|
||||
|
||||
asyncio.run(application.launch(main))
|
||||
Reference in New Issue
Block a user