ums.management.process

 1# Agenten Plattform
 2#
 3# (c) 2024 Magnus Bender
 4# 	Institute of Humanities-Centered Artificial Intelligence (CHAI)
 5# 	Universitaet Hamburg
 6# 	https://www.chai.uni-hamburg.de/~bender
 7#  
 8# source code released under the terms of GNU Public License Version 3
 9# https://www.gnu.org/licenses/gpl-3.0.txt
10
11from fastapi import BackgroundTasks
12
13from ums.management.db import DB
14
15from ums.utils import AgentMessage, AgentResponse
16
17class MessageProcessor():
18
19	def __init__(self, db:DB):
20		self.db = db
21
22	def new_message(self,
23		sender:str, receiver:str, message:AgentMessage,
24		background_tasks: BackgroundTasks
25	) -> AgentResponse:
26
27		try:
28			db_count = self.db.add_message(sender, receiver, message)
29			background_tasks.add_task(self._process_message, db_count)
30
31			return AgentResponse(
32				count=db_count,
33				msg="Added message to queue"
34			)
35		except Exception as e:
36			return AgentResponse(
37				count=-1,
38				error=True,
39				error_msg=str(e)
40			)
41
42	def _process_message(self, count:int):
43		# TODO !!!
44		self.db.set_processed(count=count, processed=True)
class MessageProcessor:
18class MessageProcessor():
19
20	def __init__(self, db:DB):
21		self.db = db
22
23	def new_message(self,
24		sender:str, receiver:str, message:AgentMessage,
25		background_tasks: BackgroundTasks
26	) -> AgentResponse:
27
28		try:
29			db_count = self.db.add_message(sender, receiver, message)
30			background_tasks.add_task(self._process_message, db_count)
31
32			return AgentResponse(
33				count=db_count,
34				msg="Added message to queue"
35			)
36		except Exception as e:
37			return AgentResponse(
38				count=-1,
39				error=True,
40				error_msg=str(e)
41			)
42
43	def _process_message(self, count:int):
44		# TODO !!!
45		self.db.set_processed(count=count, processed=True)
MessageProcessor(db: ums.management.db.DB)
20	def __init__(self, db:DB):
21		self.db = db
db
def new_message( self, sender: str, receiver: str, message: ums.utils.types.AgentMessage, background_tasks: fastapi.background.BackgroundTasks) -> ums.utils.types.AgentResponse:
23	def new_message(self,
24		sender:str, receiver:str, message:AgentMessage,
25		background_tasks: BackgroundTasks
26	) -> AgentResponse:
27
28		try:
29			db_count = self.db.add_message(sender, receiver, message)
30			background_tasks.add_task(self._process_message, db_count)
31
32			return AgentResponse(
33				count=db_count,
34				msg="Added message to queue"
35			)
36		except Exception as e:
37			return AgentResponse(
38				count=-1,
39				error=True,
40				error_msg=str(e)
41			)