justKevv commited on
Commit
77e6989
·
1 Parent(s): b8ca8ad

fix(database): fixing so that ensuring the data that has already been

Browse files
Files changed (2) hide show
  1. app.py +5 -1
  2. 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