bugfix
This commit is contained in:
@@ -6623,23 +6623,23 @@ class DataProcessor:
|
|||||||
# ... (Logik für den letzten Batch mit ThreadPoolExecutor) ...
|
# ... (Logik für den letzten Batch mit ThreadPoolExecutor) ...
|
||||||
self.logger.debug(f" FINALER Branch Batch beendet. {len(results_list)} Ergebnisse erhalten ({batch_error_count} Fehler).")
|
self.logger.debug(f" FINALER Branch Batch beendet. {len(results_list)} Ergebnisse erhalten ({batch_error_count} Fehler).")
|
||||||
|
|
||||||
# Sammle Sheet Updates (W, X, Y, AO, AP) fuer diesen finalen Batch.
|
# Sammle Sheet Updates (AH, AI, AJ, AK, BC, BD) fuer diesen finalen Batch.
|
||||||
if results_list:
|
if results_list: # Beginn des Blocks, zu dem das problematische if gehören sollte
|
||||||
current_timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
current_timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||||
current_version = getattr(Config, 'VERSION', 'unknown')
|
current_version = getattr(Config, 'VERSION', 'unknown')
|
||||||
batch_sheet_updates = []
|
batch_sheet_updates = []
|
||||||
results_list.sort(key=lambda x: x['row_num'])
|
results_list.sort(key=lambda x: x['row_num'])
|
||||||
for res_data in results_list: # <--- HIER IST DIE ZWEITE SCHLEIFE
|
for res_data in results_list: # Beginn der inneren Schleife
|
||||||
row_num = res_data['row_num']
|
row_num = res_data['row_num']
|
||||||
result = res_data['result']
|
result = res_data['result']
|
||||||
|
|
||||||
self.logger.debug(f" FINALER Batch Zeile {row_num}: Ergebnis aus evaluate_branch_task: {result}") # DEBUG
|
self.logger.debug(f" FINALER Batch Zeile {row_num}: Ergebnis aus evaluate_branch_task: {result}")
|
||||||
|
|
||||||
# Sammle Updates fuer AH, AI, AJ, AK, BC, BD
|
# Sammle Updates fuer AH, AI, AJ, AK, BC, BD
|
||||||
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Vorschlag Branche"] + 1)}{row_num}',
|
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Vorschlag Branche"] + 1)}{row_num}',
|
||||||
'values': [[result.get("branch", "FEHLER BRANCH")]]})
|
'values': [[result.get("branch", "FEHLER BRANCH")]]})
|
||||||
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Branche Konfidenz"] + 1)}{row_num}',
|
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Branche Konfidenz"] + 1)}{row_num}',
|
||||||
'values': [[result.get("confidence", "N/A CONF")]]}) # <<< HIER ANPASSEN
|
'values': [[result.get("confidence", "N/A CONF")]]})
|
||||||
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Konsistenz Branche"] + 1)}{row_num}',
|
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Konsistenz Branche"] + 1)}{row_num}',
|
||||||
'values': [[result.get("consistency", "error CONS")]]})
|
'values': [[result.get("consistency", "error CONS")]]})
|
||||||
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Begruendung Abweichung Branche"] + 1)}{row_num}',
|
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Begruendung Abweichung Branche"] + 1)}{row_num}',
|
||||||
@@ -6649,21 +6649,30 @@ class DataProcessor:
|
|||||||
'values': [[current_timestamp]]})
|
'values': [[current_timestamp]]})
|
||||||
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Version"] + 1)}{row_num}',
|
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Version"] + 1)}{row_num}',
|
||||||
'values': [[current_version]]})
|
'values': [[current_version]]})
|
||||||
# Fuege diese Updates zur globalen Liste hinzu (wird dann nur noch einmal gesendet)
|
# Ende der inneren for-Schleife (for res_data in results_list)
|
||||||
# all_sheet_updates.extend(batch_sheet_updates) # Nicht hier sammeln, direkt senden
|
|
||||||
|
|
||||||
# Sende die gesammelten Updates fuer DIESEN finalen Batch.
|
# Sende die gesammelten Updates fuer DIESEN finalen Batch.
|
||||||
if batch_sheet_updates:
|
# DIESER BLOCK MUSS AUF DERSELBEN EBENE WIE DIE if results_list BEDINGUNG SEIN (oder eine Ebene tiefer, wenn er nur bei results_list ausgeführt werden soll)
|
||||||
self.logger.debug(f" Sende FINALES Sheet-Update fuer {len(results_list)} Zeilen ({len(batch_sheet_updates)} Zellen)...") # <<< GEÄNDERT
|
# Basierend auf der Logik, dass Updates nur gesendet werden, WENN es welche gibt, gehört es eine Ebene tiefer als if results_list.
|
||||||
# Nutzt die batch_update_cells Methode des Sheet Handlers (Block 14) mit Retry.
|
# Also auf der Ebene der batch_sheet_updates = [] Initialisierung.
|
||||||
|
|
||||||
|
# ---> KORREKTE EINRÜCKUNG FÜR DEN FOLGENDEN BLOCK <---
|
||||||
|
# Dieser Block sollte auf derselben Ebene sein wie die Initialisierung von batch_sheet_updates
|
||||||
|
# oder, wenn er nur ausgeführt werden soll, wenn results_list nicht leer ist,
|
||||||
|
# dann innerhalb des `if results_list:` Blocks, aber NACH der `for`-Schleife.
|
||||||
|
# Im Screenshot ist es direkt nach der for-Schleife, also innerhalb von `if results_list:`.
|
||||||
|
|
||||||
|
if batch_sheet_updates: # Diese Zeile muss dieselbe Einrückung haben wie z.B. "current_timestamp ="
|
||||||
|
self.logger.debug(f" Sende FINALES Sheet-Update fuer {len(results_list)} Zeilen ({len(batch_sheet_updates)} Zellen)...")
|
||||||
success = self.sheet_handler.batch_update_cells(batch_sheet_updates)
|
success = self.sheet_handler.batch_update_cells(batch_sheet_updates)
|
||||||
if success:
|
if success:
|
||||||
self.logger.info(f" FINALES Sheet-Update fuer Branch Batch erfolgreich.") # <<< GEÄNDERT
|
self.logger.info(f" FINALES Sheet-Update fuer Branch Batch erfolgreich.")
|
||||||
# Der Fehlerfall wird von batch_update_cells geloggt
|
# Der Fehlerfall wird von batch_update_cells geloggt
|
||||||
|
# Ende des `if results_list:` Blocks
|
||||||
|
# Ende des `if tasks_for_processing_batch:` Blocks (für den finalen Batch)
|
||||||
|
|
||||||
# Logge den Abschluss des Modus
|
# Logge den Abschluss des Modus
|
||||||
self.logger.info(f"Brancheneinschaetzung (Parallel Batch) abgeschlossen. {processed_count} Zeilen verarbeitet (in Batch aufgenommen), {skipped_count} Zeilen uebersprungen.") # <<< GEÄNDERT
|
self.logger.info(f"Brancheneinschaetzung (Parallel Batch) abgeschlossen. {processed_count} Zeilen verarbeitet (in Batch aufgenommen), {skipped_count} Zeilen uebersprungen.")
|
||||||
# Keine Pause nach diesem Modus noetig, da die naechste Aktion im Dispatcher (Block 34) folgt.
|
# Keine Pause nach diesem Modus noetig, da die naechste Aktion im Dispatcher (Block 34) folgt.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user