Back to home page

EIC code displayed by LXR

 
 

    


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

0001 import sys
0002 
0003 from pandajedi.jedicore.JediTaskBufferInterface import JediTaskBufferInterface
0004 from pandajedi.jediddm.DDMInterface import DDMInterface
0005 from pandajedi.jedirefine import RefinerUtils
0006 from pandaserver.taskbuffer.DataCarousel import DataCarouselInterface
0007 
0008 vo = "atlas"
0009 jediTaskID = int(sys.argv[1])
0010 
0011 print("set tbIF")
0012 tbIF = JediTaskBufferInterface()
0013 tbIF.setupInterface(max_size=1)
0014 
0015 print("set ddmIF")
0016 ddmIF = DDMInterface()
0017 ddmIF.setupInterface()
0018 
0019 print("set DCIF")
0020 data_carousel_interface = DataCarouselInterface(tbIF, ddmIF.getInterface(vo))
0021 if data_carousel_interface is None:
0022     # data carousel interface is undefined
0023     errStr = f"data carousel interface is undefined for vo={vo}"
0024     print(errStr)
0025     sys.exit(1)
0026 
0027 print(f"get task params of {jediTaskID}")
0028 taskParam = tbIF.getTaskParamsWithID_JEDI(jediTaskID)
0029 taskParamMap = RefinerUtils.decodeJSON(taskParam)
0030 
0031 print(f"get_input_datasets_to_prestage")
0032 prestaging_list, ret_map = data_carousel_interface.get_input_datasets_to_prestage(jediTaskID, taskParamMap)
0033 
0034 if not prestaging_list:
0035     # no dataset needs pre-staging; unset inputPreStaging
0036     print("no need to prestage")
0037     # resume the task from staging
0038     print(f"resume task {jediTaskID}")
0039     tbIF.sendCommandTaskPanda(jediTaskID, "Test addDataCarouselRequest. No need to prestage. Resumed from staging", True, "resume")
0040 else:
0041     # submit data carousel requests for dataset to pre-stage
0042     print("to prestage, submitting data carousel requests")
0043     tmp_ret = data_carousel_interface.submit_data_carousel_requests(jediTaskID, prestaging_list)
0044     if tmp_ret:
0045         print(f"submitted data carousel requests for {jediTaskID}: {tmp_ret}")
0046     else:
0047         print(f"failed to submit data carousel requests")