import numpy as np from csst_dag import CSST_DAG_LIST, Redis, dump_message_list from csst_dag.constants import MSC_MBI_CHIPID from csst_dfs_client import level0 # set BATCH_ID and DATASET BATCH_ID = "msc-ooc-v20241219-rdx-naoc-v1" DATASET = "msc-ooc-v20241219" LOCATION = "naoc" # query for data in DFS result = level0.find( dataset=DATASET, file_type="SCI", ) print(result) for _ in result.data: print(_.obs_id, _.detector_no) # get DAG dag = CSST_DAG_LIST.get("csst-msc-l1-mbi") # generate messages message_list = [] for _ in result.data: this_obsid = _.obs_id this_chipid = _.detector_no this_message = dag.gen_message( batch_id=BATCH_ID, dataset=DATASET, obsid=this_obsid, chipid=this_chipid, ) message_list.append(this_message) # setup redis r = Redis(location=LOCATION) # push messages to redis for msg in message_list: r.push(msg) print(f" N_message = {len(message_list)}") print(f" N_in_redis = {len(r.get_all())}") # =============================================================== # dump messages dump_message_list(message_list, path=f"batch/msc-v093/msc-v093.{BATCH_ID}") # re-process? # read messages with open(f"batch/msc-v093/C9_W1_Phot.{BATCH_ID}.messages", "r") as f: message_list = [_.strip() for _ in f.readlines()] for msg in message_list[20:30]: r.push(msg) print(f" N_message = {len(message_list)}") print(f" N_in_redis = {len(r.get_all())}")