Warning, /panda-server/pandajedi/jedimsgprocessor/ai_parameter_adjuster_msg_processor is written in an unsupported language. File is not indexed.
0001 import json
0002
0003 from pandacommon.pandalogger import logger_utils
0004
0005 from pandajedi.jedimsgprocessor.base_msg_processor import BaseMsgProcPlugin
0006
0007 base_logger = logger_utils.setup_logger(__name__.split(".")[-1])
0008
0009
0010 # AI parameter adjuster plugin
0011 class AIParameterAdjuster(BaseMsgProcPlugin):
0012 """
0013 Parameter adjuster message processor whose source messages generated by external AI
0014 Used for scout prediction, etc.
0015 """
0016 def process(self, msg_obj, decoded_data=None):
0017 tmp_log = logger_utils.make_logger(base_logger, token=self.get_pid(), method_name="process")
0018 # start
0019 tmp_log.info("start")
0020 tmp_log.debug(f"sub_id={msg_obj.sub_id} ; msg_id={msg_obj.msg_id}")
0021 # parse
0022 if decoded_data is None:
0023 # json decode
0024 try:
0025 msg_dict = json.loads(msg_obj.data)
0026 except Exception as e:
0027 err_str = f"failed to parse message json {msg_obj.data} , skipped. {e.__class__.__name__} : {e}"
0028 tmp_log.error(err_str)
0029 raise
0030 else:
0031 msg_dict = decoded_data
0032 # sanity check
0033 try:
0034 task_id = int(msg_dict["task_id"])
0035 # message type
0036 msg_type = msg_dict["msg_type"]
0037 if msg_type == "scout_prediction":
0038 pass
0039 elif msg_type == "test":
0040 pass
0041 else:
0042 raise ValueError(f"invalid msg_type value: {msg_type}")
0043 except Exception as e:
0044 err_str = f"failed to parse message object dict {msg_dict} , skipped. {e.__class__.__name__} : {e}"
0045 tmp_log.error(err_str)
0046 raise
0047 # run
0048 try:
0049 # initialize to_proceed
0050 to_proceed = False
0051 # type filters
0052 if msg_type in ["scout_prediction", "test"]:
0053 to_proceed = True
0054 # whether to proceed the targets
0055 if to_proceed:
0056 # initialize
0057 pass
0058 # loop over targets
0059 if msg_type == "scout_prediction":
0060 #TODO: to complete once the format of scout prediction messages is decided
0061 pass
0062 pass
0063 else:
0064 # do nothing
0065 tmp_log.debug(f"task_id={task_id}, msg_type={msg_type}, nothing done")
0066 except Exception as e:
0067 err_str = f"failed to process the message, skipped. {e.__class__.__name__} : {e}"
0068 tmp_log.error(err_str)
0069 raise
0070 # done
0071 tmp_log.info("done")