@@ -831,7 +831,7 @@ async def nebula_relaunch_scenario(
831
831
scenarios_finished = 0
832
832
scenarios_list .clear ()
833
833
scenarios_list .append (scenario )
834
- background_tasks .add_task (run_scenarios , scenarios_list , session ["role" ])
834
+ background_tasks .add_task (run_scenarios , session ["role" ])
835
835
else :
836
836
scenarios_list .append (scenario )
837
837
@@ -1148,11 +1148,9 @@ async def run_scenario(scenario_data, role):
1148
1148
1149
1149
1150
1150
# Deploy the list of scenarios
1151
- async def run_scenarios (data , role ):
1151
+ async def run_scenarios (role ):
1152
1152
try :
1153
- global scenarios_finished , scenarios_list , scenarios_list_length
1154
- logging .info (f"[FER] run_sceenarios, scenarios_list: { data } " )
1155
- scenarios_list = data
1153
+ global scenarios_finished , scenarios_list_length
1156
1154
for scenario_data in scenarios_list :
1157
1155
finish_scenario_event .clear ()
1158
1156
logging .info (f"Running scenario { scenario_data ['scenario_title' ]} " )
@@ -1165,7 +1163,7 @@ async def run_scenarios(data, role):
1165
1163
scenarios_list_length = 0
1166
1164
stop_scenario (scenario_name )
1167
1165
return
1168
- scenarios_finished = scenarios_finished + 1
1166
+ scenarios_finished += 1
1169
1167
stop_scenario (scenario_name )
1170
1168
await asyncio .sleep (5 )
1171
1169
finally :
@@ -1184,15 +1182,18 @@ async def nebula_dashboard_deployment_run(
1184
1182
if request .headers .get ("content-type" ) != "application/json" :
1185
1183
raise HTTPException (status_code = 401 )
1186
1184
1187
- stop_all_scenarios ()
1188
- finish_scenario_event .clear ()
1189
- stop_all_scenarios_event .clear ()
1190
1185
data = await request .json ()
1191
- global scenarios_finished , scenarios_list_length
1192
- scenarios_finished = 0
1193
- scenarios_list_length = len (data )
1186
+ global scenarios_finished , scenarios_list_length , scenarios_list
1187
+ if scenarios_list_length < 1 :
1188
+ scenarios_finished = 0
1189
+ scenarios_list_length = len (data )
1190
+ scenarios_list = data
1191
+ background_tasks .add_task (run_scenarios , session ["role" ])
1192
+ else :
1193
+ scenarios_list_length += len (data )
1194
+ scenarios_list .extend (data )
1195
+ await asyncio .sleep (3 )
1194
1196
logging .info (f"Running deployment with { len (data )} scenarios" )
1195
- background_tasks .add_task (run_scenarios , data , session ["role" ])
1196
1197
return RedirectResponse (url = "/nebula/dashboard" , status_code = 303 )
1197
1198
# return Response(content="Success", status_code=200)
1198
1199
0 commit comments