@ -82,12 +82,17 @@ async def simulate_equipment(db_session: DbSession, assetnum: str):
"""
"""
async def event_generator ( ) :
async def event_generator ( ) :
# notify start of checking
yield f " data: { json . dumps ( { ' status ' : ' started ' , ' step ' : ' checking update ' , ' message ' : ' Checking and updating initial data ' } ) } \n \n "
try :
try :
await update_initial_simulation_data ( db_session = db_session , assetnum = assetnum )
await update_initial_simulation_data ( db_session = db_session , assetnum = assetnum )
yield f " data: { json . dumps ( { ' status ' : ' completed ' , ' step ' : ' checking update ' , ' message ' : ' Initial data check completed ' } ) } \n \n "
except Exception as e :
except Exception as e :
# Log error but proceed? Or maybe yield an error?
# Log error but proceed? Or maybe yield an error?
# For now, we proceed as this is an enhancement check.
# For now, we proceed as this is an enhancement check.
print ( f " Update simulation data failed: { e } " )
print ( f " Update simulation data failed: { e } " )
yield f " data: { json . dumps ( { ' status ' : ' error ' , ' step ' : ' checking update ' , ' message ' : f ' Update simulation data failed: { str ( e ) } ' } ) } \n \n "
# notify start of prediksi
# notify start of prediksi
yield f " data: { json . dumps ( { ' status ' : ' started ' , ' step ' : ' prediksi ' , ' message ' : ' Starting prediksi ' } ) } \n \n "
yield f " data: { json . dumps ( { ' status ' : ' started ' , ' step ' : ' prediksi ' , ' message ' : ' Starting prediksi ' } ) } \n \n "
@ -106,7 +111,7 @@ async def simulate_equipment(db_session: DbSession, assetnum: str):
yield f " data: { json . dumps ( { ' status ' : ' started ' , ' step ' : ' eac ' , ' message ' : ' Starting EAC calculation ' } ) } \n \n "
yield f " data: { json . dumps ( { ' status ' : ' started ' , ' step ' : ' eac ' , ' message ' : ' Starting EAC calculation ' } ) } \n \n "
try :
try :
eac = Eac ( )
eac = Eac ( )
hasil_eac = await eac . hitung_eac_equipment ( assetnum = assetnum )
hasil_eac = eac . hitung_eac_equipment ( assetnum = assetnum )
except Exception as exc :
except Exception as exc :
yield f " data: { json . dumps ( { ' status ' : ' error ' , ' step ' : ' eac ' , ' message ' : str ( exc ) } ) } \n \n "
yield f " data: { json . dumps ( { ' status ' : ' error ' , ' step ' : ' eac ' , ' message ' : str ( exc ) } ) } \n \n "
return
return
@ -157,7 +162,7 @@ async def simulate_all_equipment(db_session: DbSession):
await prediksi_main ( assetnum = assetnum )
await prediksi_main ( assetnum = assetnum )
# EAC
# EAC
eac = Eac ( )
eac = Eac ( )
await eac . hitung_eac_equipment ( assetnum = assetnum )
eac . hitung_eac_equipment ( assetnum = assetnum )
success_count + = 1
success_count + = 1
except Exception as e :
except Exception as e :
error_count + = 1
error_count + = 1