On Fri, Nov 20, 2020 at 04:00:35PM +0800, Ren Wen wrote:
There're 2 "finished" states before, one is *daemon* request, the other is *test* request. Now change *daemon*'s to "started", means daemon started. This state will save to redis key "sched/cluster_state".
Why move "finished" to another "when condition"?
When all nodes in cluster do *run_test*, no *start_daemon*, the node will restart immediately after its tests finished. Now need to wait other nodes, so move "finished" to another "when condition" to wait all nodes finished.
Signed-off-by: Ren Wen 15991987063@163.com
src/scheduler/request_cluster_state.cr | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/scheduler/request_cluster_state.cr b/src/scheduler/request_cluster_state.cr index ac6cb8e..fffa4cf 100644 --- a/src/scheduler/request_cluster_state.cr +++ b/src/scheduler/request_cluster_state.cr @@ -13,13 +13,14 @@ class Sched cluster_state = ""
states = {"abort" => "abort",
"started" => "started", "finished" => "finish",
maybe you can keep the same for started/finished: "started" => "started", "finished" => "finished",
"failed" => "abort", "wait_ready" => "ready", "wait_finish" => "finish"} case request_state
- when "abort", "finished", "failed"
- when "abort", "started", "failed" # update node state only update_cluster_state(cluster_id, job_id, {"state" => states[request_state]}) when "wait_ready"
@@ -30,7 +31,7 @@ class Sched }
return cluster_state
- when "wait_finish"
- when "wait_finish", "finished"
the value you write above is finish, here is finished whether need to fix it?
Thanks, Luan Shengde
update_cluster_state(cluster_id, job_id, {"state" => states[request_state]}) while 1 sleep(10)
-- 2.23.0