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
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
0048 dc_req_spec = DataCarouselRequestSpec()
0049 dc_req_spec.pack(res)
0050
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)