mirror of
https://gitlab.cern.ch/wotsubo/PSBoardDataBase.git
synced 2025-06-08 05:55:42 +09:00
fix: dispatch check logic
This commit is contained in:
parent
a821915028
commit
f81241a89b
1 changed files with 24 additions and 9 deletions
|
@ -36,22 +36,37 @@ function is_dispatchable(conn::DbConnection, psbid::Int64)
|
|||
single_results = filter(:psboard_id => ==(psbid), conn.df_single_result)
|
||||
extra_results = filter(:psboard_id => ==(psbid), conn.df_extra_results)
|
||||
|
||||
is_single_passed::Bool = nrow(single_results) == 1 && single_results.qaqc_result[1] == 1
|
||||
is_single_passed::Bool =
|
||||
nrow(single_results) == 1 && let
|
||||
single_result = Tables.rowtable(single_results) |> first
|
||||
|
||||
single_result.resistance_test_passed == 1 &&
|
||||
single_result.qspip == 1 &&
|
||||
single_result.recov == 1 &&
|
||||
single_result.power == 1 &&
|
||||
single_result.clock == 1
|
||||
end
|
||||
@debug "" is_single_passed single_results
|
||||
is_extra_passed::Bool =
|
||||
nrow(extra_results) == 1 && let
|
||||
extra_result = Tables.rowtable(extra_results) |> first
|
||||
f1 =
|
||||
extra_results.insufficient_reset_with_10 >
|
||||
extra_results.num_tests * THRESHOLD_INSUFFICIENT_RESET_WITH_10
|
||||
ismissing(extra_result.insufficient_reset_with_10) &&
|
||||
extra_result.insufficient_reset_with_10 >=
|
||||
extra_result.num_tests * THRESHOLD_INSUFFICIENT_RESET_WITH_10
|
||||
f2 =
|
||||
extra_results.reset_failed_though_reconfig_done >
|
||||
extra_results.num_tests * THRESHOLD_RESET_FAILED_THOUGH_RECONFIG_DONE
|
||||
ismissing(extra_result.reset_failed_though_reconfig_done) &&
|
||||
extra_result.reset_failed_though_reconfig_done >=
|
||||
extra_result.num_tests * THRESHOLD_RESET_FAILED_THOUGH_RECONFIG_DONE
|
||||
f3 =
|
||||
extra_results.always_hit_flag_true >
|
||||
extra_results.num_tests * THRESHOLD_ALWAYS_HIT_FLAG_TRUE
|
||||
f4 = extra_results.bcid_fail > extra_results.num_tests * THRESHOLD_BCID_FAIL
|
||||
f1 || f2 || f3 || f4
|
||||
ismissing(extra_result.always_hit_flag_true) &&
|
||||
extra_result.always_hit_flag_true >=
|
||||
extra_result.num_tests * THRESHOLD_ALWAYS_HIT_FLAG_TRUE
|
||||
f4 =
|
||||
ismissing(extra_result.bcid_fail) &&
|
||||
extra_result.bcid_fail >= extra_result.num_tests * THRESHOLD_BCID_FAIL
|
||||
@debug "" f1 f2 f3 f4
|
||||
!(f1 || f2 || f3 || f4)
|
||||
end
|
||||
@debug "" is_extra_passed extra_results
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue