File indexing completed on 2026-04-10 08:39:00
0001 import sys
0002
0003 from pandacommon.pandalogger.PandaLogger import PandaLogger
0004
0005 from pandajedi.jedicore.JediTaskBufferInterface import JediTaskBufferInterface
0006 from pandajedi.jedicore.MsgWrapper import MsgWrapper
0007 from pandajedi.jediddm.DDMInterface import DDMInterface
0008 from pandajedi.jediorder.TaskBroker import TaskBroker
0009 from pandajedi.jedirefine import RefinerUtils
0010
0011 logger = PandaLogger().getLogger("TaskBroker")
0012 tmpLog = MsgWrapper(logger)
0013
0014 tbIF = JediTaskBufferInterface()
0015 tbIF.setupInterface()
0016
0017 siteMapper = tbIF.get_site_mapper()
0018
0019 ddmIF = DDMInterface()
0020 ddmIF.setupInterface()
0021
0022 jediTaskID = int(sys.argv[1])
0023
0024 s, taskSpec = tbIF.getTaskWithID_JEDI(jediTaskID, False)
0025 body = TaskBroker(None, tbIF, ddmIF, taskSpec.vo, taskSpec.prodSourceLabel)
0026 body.initializeMods(tbIF, ddmIF)
0027
0028 taskParam = tbIF.getTaskParamsWithID_JEDI(jediTaskID)
0029 taskParamMap = RefinerUtils.decodeJSON(taskParam)
0030
0031 vo = taskParamMap["vo"]
0032 prodSourceLabel = taskParamMap["prodSourceLabel"]
0033 taskType = taskParamMap["taskType"]
0034
0035 workQueueMapper = tbIF.getWorkQueueMap()
0036 workQueue = workQueueMapper.getQueueWithIDGshare(taskSpec.workQueue_ID, taskSpec.gshare)
0037
0038 impl = body.getImpl(vo, prodSourceLabel)
0039
0040
0041 tmpListItem = tbIF.getTasksToBeProcessed_JEDI(None, None, None, None, None, simTasks=[jediTaskID], readMinFiles=True)
0042 impl.doBrokerage(tmpListItem, taskSpec.vo, taskSpec.prodSourceLabel, workQueue, taskSpec.resource_type)