Refactor add_messages function to handle different types of records
This commit is contained in:
parent
de15017469
commit
0199767938
1 changed files with 20 additions and 18 deletions
|
|
@ -55,26 +55,28 @@ def add_messages(records: Union[list[Record], Record]):
|
||||||
"""
|
"""
|
||||||
Add a message to the monitor service.
|
Add a message to the monitor service.
|
||||||
"""
|
"""
|
||||||
monitor_service = get_monitor_service()
|
try:
|
||||||
|
monitor_service = get_monitor_service()
|
||||||
|
|
||||||
if isinstance(records, Record):
|
if isinstance(records, Record):
|
||||||
records = [records]
|
records = [records]
|
||||||
|
|
||||||
if not all(isinstance(record, (Record, str)) for record in records):
|
if not all(isinstance(record, (Record, str)) for record in records):
|
||||||
raise ValueError("The records must be instances of Record.")
|
types = ", ".join([str(type(record)) for record in records])
|
||||||
|
raise ValueError(f"The records must be instances of Record. Found: {types}")
|
||||||
|
|
||||||
messages = []
|
messages: list[MessageModel] = []
|
||||||
for record in records:
|
for record in records:
|
||||||
if isinstance(record, Record):
|
|
||||||
messages.append(MessageModel.from_record(record))
|
messages.append(MessageModel.from_record(record))
|
||||||
else:
|
|
||||||
raise ValueError("The record must be an instance of Record")
|
|
||||||
|
|
||||||
for message in messages:
|
for message in messages:
|
||||||
try:
|
try:
|
||||||
monitor_service.add_message(message)
|
monitor_service.add_message(message)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Error adding message to monitor service: {e}")
|
logger.error(f"Error adding message to monitor service: {e}")
|
||||||
raise e
|
logger.exception(e)
|
||||||
|
raise e
|
||||||
return records
|
return records
|
||||||
|
except Exception as e:
|
||||||
|
logger.exception(e)
|
||||||
|
raise e
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue