Back to home page

EIC code displayed by LXR

 
 

    


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")