test_dispatcher.py 2.64 KB
Newer Older
BO ZHANG's avatar
BO ZHANG committed
1
2
3
4
5
6
import numpy as np
from astropy.table import Table
from csst_dag.dag import Dispatcher

# # 1221 plan recs, 36630 data recs
plan_basis, data_basis = Dispatcher.load_test_data()
BO ZHANG's avatar
BO ZHANG committed
7
8
9
print(len(plan_basis), len(data_basis))
print("plan conames: ", plan_basis.colnames)
print("data conames: ", data_basis.colnames)
BO ZHANG's avatar
BO ZHANG committed
10

11
12
13
14
15
16
17

Dispatcher.dispatch_file(plan_basis, data_basis)
Dispatcher.dispatch_detector(plan_basis, data_basis)
Dispatcher.dispatch_obsid(plan_basis, data_basis)
Dispatcher.dispatch_obsgroup(plan_basis, data_basis)


BO ZHANG's avatar
BO ZHANG committed
18
# # 666 task/s
BO ZHANG's avatar
BO ZHANG committed
19
task_list_via_file = Dispatcher.dispatch_file(plan_basis, data_basis[:10])
BO ZHANG's avatar
BO ZHANG committed
20
21
22
23
24
25
t = Table(task_list_via_file)
np.unique(t["success"])
np.unique(t["n_relevant_plan"])
np.unique(t["n_relevant_data"])
print(t["task"])
print(sum(t["success"]))
BO ZHANG's avatar
BO ZHANG committed
26
27
print(task_list_via_file[0]["relevant_plan"].colnames)
print(task_list_via_file[0]["relevant_data"].colnames)
BO ZHANG's avatar
BO ZHANG committed
28
29
30

# # 13 task/s @n_jobs=1, 100*10 task/s @n_jobs=10 (max)
task_list_via_detector = Dispatcher.dispatch_detector(
BO ZHANG's avatar
BO ZHANG committed
31
    plan_basis, data_basis[::100], n_jobs=1
BO ZHANG's avatar
BO ZHANG committed
32
33
34
35
)
t = Table(task_list_via_detector)
np.unique(t["n_relevant_plan"], return_counts=True)
np.unique(t["success"], return_counts=True)
BO ZHANG's avatar
BO ZHANG committed
36
37
print(task_list_via_detector[0]["relevant_plan"].colnames)
print(task_list_via_detector[0]["relevant_data"].colnames)
BO ZHANG's avatar
BO ZHANG committed
38
39
40
41
42
43

# 16 task/s @n_jobs=1, 130*10 tasks/s @n_jobs=10 (max) 🔼
task_list_via_obsid = Dispatcher.dispatch_obsid(plan_basis, data_basis, n_jobs=10)
t = Table(task_list_via_obsid)
np.unique(t["n_relevant_plan"], return_counts=True)
np.unique(t["success"], return_counts=True)
BO ZHANG's avatar
BO ZHANG committed
44
45
print(task_list_via_obsid[0]["relevant_plan"].colnames)
print(task_list_via_obsid[0]["relevant_data"].colnames)
BO ZHANG's avatar
BO ZHANG committed
46
47
48
49
50
51
52
53
54

# 13s/task
task_list_via_obsgroup = Dispatcher.dispatch_obsgroup(plan_basis, data_basis)
t = Table(task_list_via_obsgroup)
print(
    sum(_["success"] for _ in task_list_via_obsgroup),
    "/",
    len(task_list_via_obsgroup),
)
BO ZHANG's avatar
BO ZHANG committed
55
56
57
print(task_list_via_obsgroup[0]["relevant_plan"].colnames)
print(task_list_via_obsgroup[0]["relevant_data"].colnames)

58
59
# 16 task/s @n_jobs=1, 130*10 tasks/s @n_jobs=10 (max) 🔼
task_list_via_obsgroup_detector = Dispatcher.dispatch_obsgroup_detector(
60
    plan_basis, data_basis
61
62
63
64
65
66
)
t = Table(task_list_via_obsgroup_detector)
np.unique(t["n_relevant_plan"], return_counts=True)
np.unique(t["success"], return_counts=True)
print(task_list_via_obsgroup_detector[0]["relevant_plan"].colnames)
print(task_list_via_obsgroup_detector[0]["relevant_data"].colnames)
BO ZHANG's avatar
BO ZHANG committed
67
68

# relevant plan_basis:
BO ZHANG's avatar
BO ZHANG committed
69
# ['dataset', 'instrument', 'obs_type', 'obs_group', 'obs_id', 'detector', 'n_file', '_id']
BO ZHANG's avatar
BO ZHANG committed
70
# relevant data_basis:
BO ZHANG's avatar
BO ZHANG committed
71
# ['dataset', 'instrument', 'obs_type', 'obs_group', 'obs_id', 'detector', 'file_name', '_id', 'prc_status']