Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-19 08:00:02

0001 import json
0002 import os
0003 import sys
0004 
0005 from pandaharvester.harvestercore import core_utils
0006 from pandaharvester.harvestercore.plugin_factory import PluginFactory
0007 
0008 # logger
0009 _logger = core_utils.setup_logger("direct_ssh_bot")
0010 
0011 
0012 # SSH bot runs a function and exits immediately
0013 class DirectSshBot(object):
0014     # execution
0015     def run(self):
0016         tmpLog = _logger
0017         try:
0018             # get parameters
0019             param_dict = json.load(sys.stdin)
0020             plugin_config = param_dict["plugin_config"]
0021             function_name = param_dict["function_name"]
0022             tmpLog = core_utils.make_logger(_logger, f"pid={os.getpid()}", method_name=function_name)
0023             tmpLog.debug("start")
0024             args = core_utils.unpickle_from_text(str(param_dict["args"]))
0025             kwargs = core_utils.unpickle_from_text(str(param_dict["kwargs"]))
0026             # get plugin
0027             pluginFactory = PluginFactory(no_db=True)
0028             core = pluginFactory.get_plugin(plugin_config)
0029             # execute
0030             ret = getattr(core, function_name)(*args, **kwargs)
0031             # make return
0032             return_dict = {"return": core_utils.pickle_to_text(ret), "args": core_utils.pickle_to_text(args), "kwargs": core_utils.pickle_to_text(kwargs)}
0033             tmpLog.debug("done")
0034         except Exception as e:
0035             errMsg = core_utils.dump_error_message(tmpLog)
0036             return_dict = {"exception": core_utils.pickle_to_text(e), "dialog": core_utils.pickle_to_text(errMsg)}
0037         return json.dumps(return_dict)
0038 
0039 
0040 # main body
0041 
0042 
0043 def main():
0044     # run bot
0045     bot = DirectSshBot()
0046     ret = bot.run()
0047     # propagate results via stdout
0048     print(ret)
0049 
0050 
0051 if __name__ == "__main__":
0052     main()