Entferne Info-Logs aus den Worker-Klassen: Reduziere die Protokollierung in ProduceWorker, DirectorWorker und TransportWorker, um die Ausgabe zu optimieren und nur Fehler zu protokollieren.
This commit is contained in:
@@ -117,7 +117,7 @@ impl BaseWorker {
|
|||||||
// beim Debuggen selten. Deshalb nur loggen, wenn der Worker
|
// beim Debuggen selten. Deshalb nur loggen, wenn der Worker
|
||||||
// sich nicht im Idle-Zustand befindet.
|
// sich nicht im Idle-Zustand befindet.
|
||||||
if !step.ends_with(" idle") {
|
if !step.ends_with(" idle") {
|
||||||
eprintln!("[{name}] Watchdog: current step = {step}");
|
// keine Info-Logs im Watchdog
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ impl DirectorWorker {
|
|||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
if directors.is_empty() {
|
if directors.is_empty() {
|
||||||
eprintln!("[DirectorWorker] Keine Direktoren für Aktionen gefunden (Zeitfenster oder DB-Daten).");
|
// keine Info-Logs
|
||||||
}
|
}
|
||||||
|
|
||||||
for director in directors {
|
for director in directors {
|
||||||
|
|||||||
@@ -126,14 +126,7 @@ impl ProduceWorker {
|
|||||||
self.base
|
self.base
|
||||||
.set_current_step("Process Finished Productions");
|
.set_current_step("Process Finished Productions");
|
||||||
|
|
||||||
if finished_productions.is_empty() {
|
// Nur Fehler loggen; keine Debug-Infos
|
||||||
eprintln!("[ProduceWorker] Keine abgeschlossenen Produktionen gefunden.");
|
|
||||||
} else {
|
|
||||||
eprintln!(
|
|
||||||
"[ProduceWorker] Verarbeite {} abgeschlossene Produktionen.",
|
|
||||||
finished_productions.len()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
for production in finished_productions {
|
for production in finished_productions {
|
||||||
self.handle_finished_production(&production);
|
self.handle_finished_production(&production);
|
||||||
@@ -182,15 +175,7 @@ impl ProduceWorker {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if stocks.is_empty() {
|
// Ruhemodus: keine Info-Logs, nur Fehler
|
||||||
eprintln!("[ProduceWorker] Keine Stocks für Branch {branch_id} gefunden.");
|
|
||||||
} else {
|
|
||||||
eprintln!(
|
|
||||||
"[ProduceWorker] {} Stocks gefunden für Branch {}.",
|
|
||||||
stocks.len(),
|
|
||||||
branch_id
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
for stock in stocks {
|
for stock in stocks {
|
||||||
if remaining_quantity <= 0 {
|
if remaining_quantity <= 0 {
|
||||||
@@ -198,35 +183,18 @@ impl ProduceWorker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let free_capacity = stock.total_capacity - stock.filled;
|
let free_capacity = stock.total_capacity - stock.filled;
|
||||||
eprintln!(
|
// keine Debug-Ausgabe
|
||||||
"[ProduceWorker] Stock {}: capacity={}, filled={}, free={}",
|
|
||||||
stock.stock_id,
|
|
||||||
stock.total_capacity,
|
|
||||||
stock.filled,
|
|
||||||
free_capacity
|
|
||||||
);
|
|
||||||
if free_capacity <= 0 {
|
if free_capacity <= 0 {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
let to_store = min(remaining_quantity, free_capacity);
|
let to_store = min(remaining_quantity, free_capacity);
|
||||||
eprintln!(
|
// keine Debug-Ausgabe
|
||||||
"[ProduceWorker] Versuche Einlagerung: stock={}, product={}, qty={}, quality={}",
|
|
||||||
stock.stock_id,
|
|
||||||
product_id,
|
|
||||||
to_store,
|
|
||||||
quality
|
|
||||||
);
|
|
||||||
if !self.store_in_stock(stock.stock_id, product_id, to_store, quality) {
|
if !self.store_in_stock(stock.stock_id, product_id, to_store, quality) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
remaining_quantity -= to_store;
|
remaining_quantity -= to_store;
|
||||||
eprintln!(
|
// keine Debug-Ausgabe
|
||||||
"[ProduceWorker] Eingelagert: stock={}, qty={} (remaining={})",
|
|
||||||
stock.stock_id,
|
|
||||||
to_store,
|
|
||||||
remaining_quantity
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if remaining_quantity == 0 {
|
if remaining_quantity == 0 {
|
||||||
@@ -358,12 +326,7 @@ impl ProduceWorker {
|
|||||||
.map_err(|e| crate::db::DbError::new(format!("DB-Verbindung fehlgeschlagen: {e}")))?;
|
.map_err(|e| crate::db::DbError::new(format!("DB-Verbindung fehlgeschlagen: {e}")))?;
|
||||||
|
|
||||||
conn.prepare("insert_inventory", QUERY_INSERT_INVENTORY)?;
|
conn.prepare("insert_inventory", QUERY_INSERT_INVENTORY)?;
|
||||||
let rows = conn.execute("insert_inventory", &[&stock_id, &product_id, &quantity, &quality])?;
|
let _rows = conn.execute("insert_inventory", &[&stock_id, &product_id, &quantity, &quality])?;
|
||||||
if let Some(row) = rows.get(0) {
|
|
||||||
if let Some(id) = row.get("id") {
|
|
||||||
eprintln!("[ProduceWorker] Insert inventory id={}", id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ use crate::worker::sql::{
|
|||||||
QUERY_INSERT_INVENTORY,
|
QUERY_INSERT_INVENTORY,
|
||||||
QUERY_UPDATE_VEHICLE_AFTER_TRANSPORT,
|
QUERY_UPDATE_VEHICLE_AFTER_TRANSPORT,
|
||||||
QUERY_DELETE_TRANSPORT,
|
QUERY_DELETE_TRANSPORT,
|
||||||
QUERY_ADD_TRANSPORT_WAITING_NOTIFICATION,
|
|
||||||
QUERY_GET_BRANCH_REGION,
|
QUERY_GET_BRANCH_REGION,
|
||||||
QUERY_UPDATE_TRANSPORT_SIZE,
|
QUERY_UPDATE_TRANSPORT_SIZE,
|
||||||
};
|
};
|
||||||
@@ -141,10 +140,7 @@ impl TransportWorker {
|
|||||||
// Leere Transporte (ohne Produkt) werden anders behandelt
|
// Leere Transporte (ohne Produkt) werden anders behandelt
|
||||||
if t.product_id.is_none() {
|
if t.product_id.is_none() {
|
||||||
// Leerer Transport: Nur Fahrzeug-Region aktualisieren und Transport löschen
|
// Leerer Transport: Nur Fahrzeug-Region aktualisieren und Transport löschen
|
||||||
eprintln!(
|
// keine Info-Logs
|
||||||
"[TransportWorker] Leerer Transport {} angekommen: Fahrzeug {} zurückgeholt",
|
|
||||||
t.id, t.vehicle_id
|
|
||||||
);
|
|
||||||
Self::update_vehicle_after_transport(pool, t.vehicle_id, t.target_branch_id, t.distance)?;
|
Self::update_vehicle_after_transport(pool, t.vehicle_id, t.target_branch_id, t.distance)?;
|
||||||
Self::delete_transport(pool, t.id)?;
|
Self::delete_transport(pool, t.id)?;
|
||||||
|
|
||||||
@@ -229,18 +225,7 @@ impl TransportWorker {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Nutzer informieren, dass Ware noch im Transportmittel liegt.
|
// Keine Notification für wartende Transporte, um Notification-System zu entlasten.
|
||||||
if t.user_id > 0 && let Err(err) = Self::insert_transport_waiting_notification(
|
|
||||||
pool,
|
|
||||||
t.user_id,
|
|
||||||
product_id,
|
|
||||||
remaining_quantity,
|
|
||||||
)
|
|
||||||
{
|
|
||||||
eprintln!(
|
|
||||||
"[TransportWorker] Fehler beim Schreiben der Transport-Waiting-Notification: {err}"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
@@ -394,33 +379,6 @@ impl TransportWorker {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn insert_transport_waiting_notification(
|
|
||||||
pool: &ConnectionPool,
|
|
||||||
user_id: i32,
|
|
||||||
product_id: i32,
|
|
||||||
remaining_quantity: i32,
|
|
||||||
) -> Result<(), DbError> {
|
|
||||||
let mut conn = pool
|
|
||||||
.get()
|
|
||||||
.map_err(|e| DbError::new(format!("DB-Verbindung fehlgeschlagen: {e}")))?;
|
|
||||||
|
|
||||||
conn.prepare(
|
|
||||||
"add_transport_waiting_notification",
|
|
||||||
QUERY_ADD_TRANSPORT_WAITING_NOTIFICATION,
|
|
||||||
)?;
|
|
||||||
|
|
||||||
let notification = format!(
|
|
||||||
r#"{{"tr":"transport.waiting","productId":{},"value":{}}}"#,
|
|
||||||
product_id, remaining_quantity
|
|
||||||
);
|
|
||||||
|
|
||||||
conn.execute(
|
|
||||||
"add_transport_waiting_notification",
|
|
||||||
&[&user_id, ¬ification],
|
|
||||||
)?;
|
|
||||||
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Worker for TransportWorker {
|
impl Worker for TransportWorker {
|
||||||
|
|||||||
Reference in New Issue
Block a user