Commit adb4eaa3 authored by Wei Shoulin's avatar Wei Shoulin
Browse files

feat(dag): add new optional parameters to find_dag_run function

feat(dag): include instrument, obs_type, obs_group, detector, filter, object, and proposal_id
feat(dag): update update_dag_run function to support queue_time, start_time, and end_time
feat(level0): rename obs_time parameter to date_obs
feat(level1): rename obs_time parameter to date_obs
test(dag): update test cases for new parameters and function name change
parent 7109e3fe
Pipeline #10521 failed with stages
in 0 seconds
......@@ -76,6 +76,13 @@ def find_dag_run(dag_group: Optional[str] = None,
batch_id: Optional[str] = None,
dag: Optional[str] = None,
dataset: Optional[str] = None,
instrument: Optional[str] = None,
obs_type: Optional[str] = None,
obs_group: Optional[str] = None,
detector: Optional[str] = None,
filter: Optional[str] = None,
object: Optional[str] = None,
proposal_id: Optional[str] = None,
status_code: Optional[int] = None,
queue_time: Optional[DateTimeTuple] = None,
page: int = 1,
......@@ -89,6 +96,13 @@ def find_dag_run(dag_group: Optional[str] = None,
batch_id (Optional[str], optional): 批次号. Defaults to None.
dag (Optional[str], optional): DAG. Defaults to None.
dataset (Optional[str], optional): 数据集. Defaults to None.
instrument (Optional[str], optional): 设备. Defaults to None.
obs_type (Optional[str], optional): 观测类型. Defaults to None.
obs_group (Optional[str], optional): 观测组. Defaults to None.
detector (Optional[str], optional): 探测器. Defaults to None.
filter (Optional[str], optional): 滤波器. Defaults to None.
object (Optional[str], optional): 观测对象. Defaults to None.
proposal_id (Optional[str], optional): 提案ID. Defaults to None.
status_code (Optional[int], optional): 状态码. Defaults to None.
queue_time (Optional[DateTimeTuple], optional): 入队时间范围. Defaults to None.
page (int, optional): 页码. Defaults to 1.
......@@ -105,6 +119,13 @@ def find_dag_run(dag_group: Optional[str] = None,
'batch_id': batch_id,
'dag': dag,
'dataset': dataset,
'instrument': instrument,
'obs_type': obs_type,
'obs_group': obs_group,
'detector': detector,
'filter': filter,
'object': object,
'proposal_id': proposal_id,
'status_code': status_code,
'queue_time_start': None,
'queue_time_end': None,
......@@ -120,15 +141,20 @@ def find_dag_run(dag_group: Optional[str] = None,
pass
return request.post("/api/dag/dag_run", params)
def update_dag_run_status_code(dag_run: str, status_code: int) -> Result:
def update_dag_run(dag_run: str, status_code: int, queue_time: Optional[str] = None,
start_time: Optional[str] = None, end_time: Optional[str] = None) -> Result:
"""
更新DAG运行的处理状态
Args:
dag_run (str): DAG运行标识
status_code (int): 状态码
queue_time (Optional[str], optional): 入队时间. Defaults to None.
start_time (Optional[str], optional): 开始时间. Defaults to None.
end_time (Optional[str], optional): 结束时间. Defaults to None.
Returns:
Result: 操作结果
"""
return request.put("/api/dag/dag_run/status", {'dag_run': dag_run, 'status_code': status_code})
\ No newline at end of file
return request.put("/api/dag/dag_run/status", {'dag_run': dag_run, 'status_code': status_code,
'queue_time': queue_time, 'start_time': start_time, 'end_time': end_time})
......@@ -12,7 +12,7 @@ def find(
detector: Optional[str] = None,
obs_type: Optional[str] = None,
filter: Optional[str] = None,
obs_time: Optional[DateTimeTuple] = None,
date_obs: Optional[DateTimeTuple] = None,
create_time: Optional[DateTimeTuple] = None,
qc_status: Optional[int] = None,
prc_status: Optional[int] = None,
......@@ -33,7 +33,7 @@ def find(
detector (Optional[str], optional): 探测器. Defaults to None.
obs_type (Optional[str], optional): 观测类型,如'01'. Defaults to None.
filter (Optional[str], optional): 滤光片. Defaults to None.
obs_time (Optional[DateTimeTuple], optional): 观测时间范围. Defaults to None.
date_obs (Optional[DateTimeTuple], optional): 观测时间范围. Defaults to None.
create_time (Optional[DateTimeTuple], optional): 创建时间范围. Defaults to None.
qc_status (Optional[int], optional): QC0状态. Defaults to None.
prc_status (Optional[int], optional): 处理状态. Defaults to None.
......@@ -65,8 +65,8 @@ def find(
'dec_obj': dec_obj,
'radius': radius,
'object_name': object_name,
'obs_time_start': None,
'obs_time_end': None,
'date_obs_start': None,
'date_obs_end': None,
'create_time_start': None,
'create_time_end': None,
'dataset': dataset,
......@@ -74,11 +74,11 @@ def find(
'limit': limit,
}
if obs_time is not None:
params['obs_time_start'], params['obs_time_end'] = obs_time
if params['obs_time_start'] and utils.is_valid_datetime_format(params['obs_time_start']):
if date_obs is not None:
params['date_obs_start'], params['date_obs_end'] = date_obs
if params['date_obs_start'] and utils.is_valid_datetime_format(params['date_obs_start']):
pass
if params['obs_time_end'] and utils.is_valid_datetime_format(params['obs_time_end']):
if params['date_obs_end'] and utils.is_valid_datetime_format(params['date_obs_end']):
pass
if create_time is not None:
params['create_time_start'], params['create_time_end'] = create_time
......
......@@ -15,7 +15,7 @@ def find(
data_model: Optional[str] = None,
obs_type: Optional[str] = None,
filter: Optional[str] = None,
obs_time: Optional[DateTimeTuple] = None,
date_obs: Optional[DateTimeTuple] = None,
create_time: Optional[DateTimeTuple] = None,
qc_status: Optional[int] = None,
prc_status: Optional[int] = None,
......@@ -41,7 +41,7 @@ def find(
data_model (Optional[str], optional): 数据类型,如'csst-msc-l1-mbi'. Defaults to None.
obs_type (Optional[str], optional): 观测类型,如'01'. Defaults to None.
filter (Optional[str], optional): 滤光片. Defaults to None.
obs_time (Optional[DateTimeTuple], optional): 观测时间范围. Defaults to None.
date_obs (Optional[DateTimeTuple], optional): 观测时间范围. Defaults to None.
create_time (Optional[DateTimeTuple], optional): 创建时间范围. Defaults to None.
qc_status (Optional[int], optional): QC1状态. Defaults to None.
prc_status (Optional[int], optional): 处理状态. Defaults to None.
......@@ -80,8 +80,8 @@ def find(
'dec_cen': dec_cen,
'radius': radius,
'object_name': object_name,
'obs_time_start': None,
'obs_time_end': None,
'date_obs_start': None,
'date_obs_end': None,
'create_time_start': None,
'create_time_end': None,
'rss_id': rss_id,
......@@ -94,9 +94,9 @@ def find(
'limit': limit,
}
if obs_time is not None:
params['obs_time_start'], params['obs_time_end'] = obs_time
utils.is_valid_datetime_format(params['obs_time_start']) or not utils.is_valid_datetime_format(params['obs_time_end'])
if date_obs is not None:
params['date_obs_start'], params['date_obs_end'] = date_obs
utils.is_valid_datetime_format(params['date_obs_start']) or not utils.is_valid_datetime_format(params['date_obs_end'])
if create_time is not None:
params['create_time_start'], params['create_time_end'] = create_time
utils.is_valid_datetime_format(params['create_time_start']) or utils.is_valid_datetime_format(params['create_time_end'])
......
......@@ -22,25 +22,28 @@ class DAGTestCase(unittest.TestCase):
"dag_run": "61b622a5d256806082c668b2d1273668a1eee3ec",
"dataset": "csst-msc-c9-25sqdeg-v3",
"obs_type": "WIDE",
"filter": "r",
"obs_group": "none",
"obs_id": "10100232366",
"detector": "09"
"detector": "09",
"object": "J0842+0000",
"proposal_id": "P0002"
}]
result = dag.new_dag_group_run(dag_group_run = dag_group_run, dag_run_list = dag_run_list)
print(result)
print("new_dag_group_run:", result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
def test_find_dag_group_run(self):
result = dag.find_group_run(dag_group = "csst_dag.cli.msc_l1", batch_id = "inttest")
print(result)
print("find_dag_group_run:", result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
def test_find_dag_run(self):
result = dag.find_dag_run(dag_group = "csst_dag.cli.msc_l1", batch_id = "inttest")
print(result)
result = dag.find_dag_run(dag_group = "csst_dag.cli.msc_l1", batch_id = "inttest", object= "J0842+0000")
print("find_dag_run:", result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
def test_update_dag_run_status_code(self):
result = dag.update_dag_run_status_code(dag_run = "195244ff176f923aec9a9328c75ecaeb4a8c4345", status_code = 1)
print(result)
def test_update_dag_run(self):
result = dag.update_dag_run(dag_run = "195244ff176f923aec9a9328c75ecaeb4a8c4345", status_code = 1)
print("update_dag_run:", result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment