Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-10 08:38:58

0001 import atexit
0002 import logging
0003 
0004 from pandacommon.pandalogger.PandaLogger import PandaLogger
0005 
0006 from pandajedi.jediconfig import jedi_config
0007 from pandaserver.taskbuffer import OraDBProxy
0008 
0009 logger = PandaLogger().getLogger(__name__.split(".")[-1])
0010 OraDBProxy._logger = logger
0011 
0012 
0013 # add handlers of filtered logger
0014 tmpLoggerFiltered = PandaLogger().getLogger(__name__.split(".")[-1] + "Filtered")
0015 for tmpHdr in tmpLoggerFiltered.handlers:
0016     tmpHdr.setLevel(logging.INFO)
0017     logger.addHandler(tmpHdr)
0018     tmpLoggerFiltered.removeHandler(tmpHdr)
0019 
0020 
0021 # get mb proxies used in DBProxy methods
0022 def get_mb_proxy_dict():
0023     if hasattr(jedi_config, "mq") and hasattr(jedi_config.mq, "configFile") and jedi_config.mq.configFile:
0024         # delay import to open logger file inside python daemon
0025         from pandajedi.jediorder.JediMsgProcessor import MsgProcAgent
0026 
0027         in_q_list = []
0028         out_q_list = ["jedi_jobtaskstatus", "jedi_contents_feeder", "jedi_job_generator"]
0029         mq_agent = MsgProcAgent(config_file=jedi_config.mq.configFile)
0030         mb_proxy_dict = mq_agent.start_passive_mode(in_q_list=in_q_list, out_q_list=out_q_list)
0031         # stop with atexit
0032         atexit.register(mq_agent.stop_passive_mode)
0033         # return
0034         return mb_proxy_dict
0035 
0036 
0037 # main class
0038 class DBProxy(OraDBProxy.DBProxy):
0039     # constructor
0040     def __init__(self, useOtherError=False):
0041         OraDBProxy.DBProxy.__init__(self, useOtherError)
0042 
0043         # set JEDI attributes
0044         self.set_jedi_attributes(jedi_config, get_mb_proxy_dict)
0045 
0046     # connect to DB (just for INTR)
0047     def connect(
0048         self,
0049         dbhost=jedi_config.db.dbhost,
0050         dbpasswd=jedi_config.db.dbpasswd,
0051         dbuser=jedi_config.db.dbuser,
0052         dbname=jedi_config.db.dbname,
0053         dbtimeout=None,
0054         reconnect=False,
0055     ):
0056         return OraDBProxy.DBProxy.connect(self, dbhost=dbhost, dbpasswd=dbpasswd, dbuser=dbuser, dbname=dbname, dbtimeout=dbtimeout, reconnect=reconnect)