Refactor add_messages function to separate message addition and commit logic

This commit is contained in:
Gabriel Luiz Freitas Almeida 2024-06-25 12:13:56 -03:00
commit ea5139dd7a

View file

@ -2,6 +2,7 @@ import warnings
from typing import List, Optional from typing import List, Optional
from loguru import logger from loguru import logger
from sqlmodel import Session
from langflow.schema.message import Message from langflow.schema.message import Message
from langflow.services.database.models.message.model import MessageTable from langflow.services.database.models.message.model import MessageTable
@ -75,22 +76,25 @@ def add_messages(messages: Message | list[Message], flow_id: Optional[str] = Non
for msg in messages: for msg in messages:
messages_models.append(MessageTable.from_message(msg, flow_id=flow_id)) messages_models.append(MessageTable.from_message(msg, flow_id=flow_id))
with session_scope() as session: with session_scope() as session:
for message_model in messages_models: messages_models = add_messagetables(messages_models, session)
try:
session.add(message_model)
session.commit()
session.refresh(message_model)
except Exception as e:
logger.error(f"Error adding message to monitor service: {e}")
logger.exception(e)
raise e
return messages_models return messages_models
except Exception as e: except Exception as e:
logger.exception(e) logger.exception(e)
raise e raise e
def add_messagetables(messages: list[MessageTable], session: Session):
for message in messages:
try:
session.add(message)
session.commit()
session.refresh(message)
except Exception as e:
logger.exception(e)
raise e
return messages
def delete_messages(session_id: str): def delete_messages(session_id: str):
""" """
Delete messages from the monitor service based on the provided session ID. Delete messages from the monitor service based on the provided session ID.