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 pandaserver.taskbuffer.DataCarousel import (
0006     DataCarouselInterface,
0007     DataCarouselRequestSpec,
0008     DataCarouselRequestStatus,
0009 )
0010 
0011 vo = "atlas"
0012 task_id = int(sys.argv[1])
0013 request_id = int(sys.argv[2])
0014 
0015 print("set tbIF")
0016 tbIF = JediTaskBufferInterface()
0017 tbIF.setupInterface(max_size=1)
0018 
0019 print("set ddmIF")
0020 ddmIF = DDMInterface()
0021 ddmIF.setupInterface()
0022 
0023 print("set DCIF")
0024 data_carousel_interface = DataCarouselInterface(tbIF, ddmIF.getInterface(vo))
0025 if data_carousel_interface is None:
0026     # data carousel interface is undefined
0027     errStr = f"data carousel interface is undefined for vo={vo}"
0028     print(errStr)
0029     sys.exit(1)
0030 
0031 print("query DB for data carousel request")
0032 sql = (
0033     f"SELECT req.* "
0034     f"FROM ATLAS_PANDA.data_carousel_requests req, ATLAS_PANDA.data_carousel_relations rel "
0035     f"WHERE req.request_id=rel.request_id "
0036     f"AND rel.request_id=:request_id AND rel.task_id=:task_id "
0037 )
0038 var_map = {
0039     ":task_id": task_id,
0040     ":request_id": request_id,
0041 }
0042 res_list = tbIF.querySQL(sql, var_map)
0043 
0044 if res_list:
0045     for res in res_list:
0046         print("got request; submit iDDS stage-in request")
0047         # make request spec
0048         dc_req_spec = DataCarouselRequestSpec()
0049         dc_req_spec.pack(res)
0050         # submit iDDS stage-in reqeust
0051         ret = data_carousel_interface._submit_idds_stagein_request(task_id, dc_req_spec)
0052         print(f"Done submit to iDDS; iDDS_requestID={ret}")
0053         break
0054 else:
0055     print(f"Got no request: {res_list}")
0056     sys.exit(0)