diff --git a/src/equipment/__pycache__/router.cpython-311.pyc b/src/equipment/__pycache__/router.cpython-311.pyc index 7b7a0fb..e3329aa 100644 Binary files a/src/equipment/__pycache__/router.cpython-311.pyc and b/src/equipment/__pycache__/router.cpython-311.pyc differ diff --git a/src/equipment/router.py b/src/equipment/router.py index 6c5583f..258b0fb 100644 --- a/src/equipment/router.py +++ b/src/equipment/router.py @@ -75,7 +75,7 @@ async def get_maximo_record_by_assetnum(db_session: CollectorDbSession, assetnum ) @router.get("/simulate/{assetnum}") -async def simulate_equipment(db_session: DbSession, assetnum: str): +async def simulate_equipment(db_session: DbSession, assetnum: str, token: Token): """Stream progress events while running the simulation (prediksi + EAC). This endpoint returns Server-Sent Events (SSE). Each event's `data` is @@ -98,7 +98,7 @@ async def simulate_equipment(db_session: DbSession, assetnum: str): yield f"data: {json.dumps({'status':'started','step':'prediksi','message':'Menghitung prediksi'})}\n\n" try: - prediksi = await prediksi_main(assetnum=assetnum) + prediksi = await prediksi_main(assetnum=assetnum, token=token) except Exception as exc: # send error event and stop yield f"data: {json.dumps({'status':'error','step':'prediksi','message':str(exc)})}\n\n" @@ -140,7 +140,7 @@ async def simulate_equipment(db_session: DbSession, assetnum: str): @router.get("/simulate-all") -async def simulate_all_equipment(db_session: DbSession): +async def simulate_all_equipment(db_session: DbSession, token: Token): """Run simulation (prediksi + EAC) for ALL equipment. Returns SSE stream of progress. """ @@ -167,7 +167,7 @@ async def simulate_all_equipment(db_session: DbSession): await update_initial_simulation_data(db_session=db_session, assetnum=assetnum) # Prediksi - await prediksi_main(assetnum=assetnum) + await prediksi_main(assetnum=assetnum, token=token) # EAC eac = Eac() eac.hitung_eac_equipment(assetnum=assetnum) diff --git a/src/modules/equipment/Prediksi.py b/src/modules/equipment/Prediksi.py index 8ccf4c9..564325c 100644 --- a/src/modules/equipment/Prediksi.py +++ b/src/modules/equipment/Prediksi.py @@ -587,7 +587,7 @@ class Prediksi: self.refresh_token = d.get("refresh_token") return data except httpx.HTTPError as e: - print(f"Sign-in failed: {e}") + print(f"Sign-in failed for URL {self.AUTH_APP_URL}/sign-in: {type(e).__name__} - {e}") # Try to sign out if sign-in failed try: signout_url = f"{self.AUTH_APP_URL}/sign-out" @@ -595,14 +595,8 @@ class Prediksi: await client.get(signout_url, timeout=10.0) print("Signed out due to sign-in failure.") except Exception as signout_exc: - print(f"Sign-out failed: {signout_exc}") - # Try to sign in again - try: - signin_res = await self.sign_in() - if self.access_token: - return signin_res - except Exception as signin_exc: - print(f"Sign-in failed after sign-out: {signin_exc}") + print(f"Sign-out failed for URL {self.AUTH_APP_URL}/sign-out: {type(signout_exc).__name__} - {signout_exc}") + return None async def refresh_access_token(self) -> str: diff --git a/src/modules/equipment/__pycache__/Prediksi.cpython-311.pyc b/src/modules/equipment/__pycache__/Prediksi.cpython-311.pyc index 6f1e6d7..c8d25eb 100644 Binary files a/src/modules/equipment/__pycache__/Prediksi.cpython-311.pyc and b/src/modules/equipment/__pycache__/Prediksi.cpython-311.pyc differ