fix(database): fixing so that ensuring the data that has already been
Browse files- app.py +5 -1
- database.py +4 -1
app.py
CHANGED
|
@@ -94,6 +94,7 @@ def predict_machine():
|
|
| 94 |
"error": "Failed to save prediction to database"
|
| 95 |
}
|
| 96 |
logger.info(f"Prediction successfully saved for UDI {sensor_udi}")
|
|
|
|
| 97 |
return {
|
| 98 |
"success": True,
|
| 99 |
"failure_predicted": True,
|
|
@@ -111,7 +112,7 @@ def predict_machine():
|
|
| 111 |
|
| 112 |
return binary_result
|
| 113 |
else:
|
| 114 |
-
database.create_new_predictions(
|
| 115 |
machine_id=sensor.get("machine_id"),
|
| 116 |
timestamp=sensor.get("timestamp"),
|
| 117 |
risk_score=binary_result.get("risk_score"),
|
|
@@ -120,4 +121,7 @@ def predict_machine():
|
|
| 120 |
predicted_failure_time=None,
|
| 121 |
confidence=binary_result.get("confidence")
|
| 122 |
)
|
|
|
|
|
|
|
|
|
|
| 123 |
return binary_result
|
|
|
|
| 94 |
"error": "Failed to save prediction to database"
|
| 95 |
}
|
| 96 |
logger.info(f"Prediction successfully saved for UDI {sensor_udi}")
|
| 97 |
+
database.mark_as_processed(sensor_udi)
|
| 98 |
return {
|
| 99 |
"success": True,
|
| 100 |
"failure_predicted": True,
|
|
|
|
| 112 |
|
| 113 |
return binary_result
|
| 114 |
else:
|
| 115 |
+
save_result = database.create_new_predictions(
|
| 116 |
machine_id=sensor.get("machine_id"),
|
| 117 |
timestamp=sensor.get("timestamp"),
|
| 118 |
risk_score=binary_result.get("risk_score"),
|
|
|
|
| 121 |
predicted_failure_time=None,
|
| 122 |
confidence=binary_result.get("confidence")
|
| 123 |
)
|
| 124 |
+
|
| 125 |
+
if save_result and save_result.get("success"):
|
| 126 |
+
database.mark_as_processed(sensor_udi)
|
| 127 |
return binary_result
|
database.py
CHANGED
|
@@ -22,6 +22,10 @@ class Database():
|
|
| 22 |
except Exception as e:
|
| 23 |
logger.critical(f"Failed to create Supabase client: {str(e)}")
|
| 24 |
raise
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
def reset_last_processed_id(self):
|
| 27 |
self.__last_processed_id = None
|
|
@@ -48,7 +52,6 @@ class Database():
|
|
| 48 |
"message": "Data already predicted",
|
| 49 |
}
|
| 50 |
|
| 51 |
-
self.__last_processed_id = current_reading.get("udi")
|
| 52 |
logger.debug(f"Retrieved sensor reading - UDI: {current_reading.get('udi')}, Machine: {current_reading.get('machine_id')}")
|
| 53 |
return current_reading
|
| 54 |
|
|
|
|
| 22 |
except Exception as e:
|
| 23 |
logger.critical(f"Failed to create Supabase client: {str(e)}")
|
| 24 |
raise
|
| 25 |
+
|
| 26 |
+
def mark_as_processed(self, udi):
|
| 27 |
+
self.__last_processed_id = udi
|
| 28 |
+
logger.info(f"Marked UDI {udi} as processed")
|
| 29 |
|
| 30 |
def reset_last_processed_id(self):
|
| 31 |
self.__last_processed_id = None
|
|
|
|
| 52 |
"message": "Data already predicted",
|
| 53 |
}
|
| 54 |
|
|
|
|
| 55 |
logger.debug(f"Retrieved sensor reading - UDI: {current_reading.get('udi')}, Machine: {current_reading.get('machine_id')}")
|
| 56 |
return current_reading
|
| 57 |
|