Skip to content

Commit 5f10106

Browse files
committed
fix(app): solved infinite scenarios loop bug
1 parent d425b84 commit 5f10106

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

nebula/frontend/app.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -810,7 +810,9 @@ def remove_scenario(scenario_name=None):
810810

811811

812812
@app.get("/nebula/dashboard/{scenario_name}/relaunch")
813-
async def nebula_relaunch_scenario(scenario_name: str, background_tasks: BackgroundTasks, session: dict = Depends(get_session)):
813+
async def nebula_relaunch_scenario(
814+
scenario_name: str, background_tasks: BackgroundTasks, session: dict = Depends(get_session)
815+
):
814816
global scenarios_list, scenarios_list_length, scenarios_finished
815817

816818
if "user" in session:
@@ -824,14 +826,17 @@ async def nebula_relaunch_scenario(scenario_name: str, background_tasks: Backgro
824826
with open(scenario_path) as scenario_file:
825827
scenario = json.load(scenario_file)
826828

827-
scenarios_list.append(scenario)
828829
scenarios_list_length = scenarios_list_length + 1
829830

830-
if(scenarios_list_length == 1):
831+
if scenarios_list_length == 1:
831832
scenarios_finished = 0
833+
scenarios_list.clear()
834+
scenarios_list.append(scenario)
832835
background_tasks.add_task(run_scenarios, scenarios_list, session["role"])
836+
else:
837+
scenarios_list.append(scenario)
833838

834-
return RedirectResponse(url="/nebula/dashboard")
839+
return RedirectResponse(url="/nebula/dashboard", status_code=303)
835840
else:
836841
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED)
837842

@@ -1269,6 +1274,7 @@ async def run_scenario(scenario_data, role):
12691274
async def run_scenarios(data, role):
12701275
try:
12711276
global scenarios_finished, scenarios_list, scenarios_list_length
1277+
logging.info(f"[FER] run_sceenarios, scenarios_list: {data}")
12721278
scenarios_list = data
12731279
for scenario_data in scenarios_list:
12741280
finish_scenario_event.clear()

0 commit comments

Comments
 (0)