Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-10 08:39:00

0001 import json
0002 import sys
0003 
0004 from pandajedi.jedicore.JediTaskBufferInterface import JediTaskBufferInterface
0005 from pandajedi.jediddm.DDMInterface import DDMInterface
0006 from pandajedi.jedirefine import RefinerUtils
0007 from pandaserver.taskbuffer.DataCarousel import DataCarouselInterface
0008 
0009 vo = "atlas"
0010 request_id = int(sys.argv[1])
0011 json_to_update = str(sys.argv[2])
0012 
0013 print("set tbIF")
0014 tbIF = JediTaskBufferInterface()
0015 tbIF.setupInterface(max_size=1)
0016 
0017 print("set ddmIF")
0018 ddmIF = DDMInterface()
0019 ddmIF.setupInterface()
0020 
0021 print("set DCIF")
0022 data_carousel_interface = DataCarouselInterface(tbIF, ddmIF.getInterface(vo))
0023 if data_carousel_interface is None:
0024     # data carousel interface is undefined
0025     errStr = f"data carousel interface is undefined for vo={vo}"
0026     print(errStr)
0027     sys.exit(1)
0028 
0029 with data_carousel_interface.global_dc_lock(timeout_sec=60, lock_expiration_sec=300) as full_pid:
0030     # timeout
0031     if full_pid is None:
0032         print(f"timed out without getting lock")
0033         sys.exit(1)
0034 
0035     print(f"get spec request_id={request_id}")
0036     dc_req_spec = None
0037     if request_id is not None:
0038         # specified by request_id
0039         dc_req_spec = data_carousel_interface.get_request_by_id(request_id)
0040 
0041     # update parameters
0042     print(f"update parameters of request_id={request_id}")
0043     if dc_req_spec and (dict_to_update := json.loads(json_to_update)):
0044         dc_req_spec.update_parameters(dict_to_update)
0045         tbIF.update_data_carousel_request_JEDI(dc_req_spec)
0046         print(f"updated request_id={request_id} with parameters: {dict_to_update}")
0047     elif dc_req_spec is None:
0048         print(f"request_id={request_id} not found")
0049     else:
0050         print(f"no parameters to update for request_id={request_id}")