|
|
|
|
@ -150,17 +150,17 @@ async def simulate_all_equipment(db_session: DbSession, token: Token):
|
|
|
|
|
try:
|
|
|
|
|
assetnums = await get_all_assetnums(db_session=db_session)
|
|
|
|
|
except Exception as e:
|
|
|
|
|
yield f"data: {json.dumps({'status':'error', 'message': f'Failed to fetch assetnums: {str(e)}'})}\\n\\n"
|
|
|
|
|
yield f"data: {json.dumps({'status':'error', 'message': f'Failed to fetch assetnums: {str(e)}'})}\n\n"
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
total = len(assetnums)
|
|
|
|
|
yield f"data: {json.dumps({'status':'started', 'message': f'Simulasi dimulai untuk {total} asset'})}\\n\\n"
|
|
|
|
|
yield f"data: {json.dumps({'status':'started', 'message': f'Simulasi dimulai untuk {total} asset'})}\n\n"
|
|
|
|
|
|
|
|
|
|
success_count = 0
|
|
|
|
|
error_count = 0
|
|
|
|
|
|
|
|
|
|
for idx, assetnum in enumerate(assetnums, start=1):
|
|
|
|
|
yield f"data: {json.dumps({'status':'working', 'step':f'Proses {idx}/{total}', 'assetnum': assetnum})}\\n\\n"
|
|
|
|
|
yield f"data: {json.dumps({'status':'working', 'step':f'Proses {idx}/{total}', 'assetnum': assetnum})}\n\n"
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
# Update acquisition year and target year
|
|
|
|
|
@ -174,10 +174,10 @@ async def simulate_all_equipment(db_session: DbSession, token: Token):
|
|
|
|
|
success_count += 1
|
|
|
|
|
except Exception as e:
|
|
|
|
|
error_count += 1
|
|
|
|
|
yield f"data: {json.dumps({'status':'partial_error', 'assetnum': assetnum, 'message': str(e)})}\\n\\n"
|
|
|
|
|
yield f"data: {json.dumps({'status':'partial_error', 'assetnum': assetnum, 'message': str(e)})}\n\n"
|
|
|
|
|
continue
|
|
|
|
|
|
|
|
|
|
yield f"data: {json.dumps({'status':'done', 'message':f'Simulasi selesai. Success: {success_count}, Errors: {error_count}'})}\\n\\n"
|
|
|
|
|
yield f"data: {json.dumps({'status':'done', 'message':f'Simulasi selesai. Success: {success_count}, Errors: {error_count}'})}\n\n"
|
|
|
|
|
|
|
|
|
|
headers = {
|
|
|
|
|
"Content-type": "text/event-stream",
|
|
|
|
|
|