data_processor.py aktualisiert
This commit is contained in:
@@ -2309,46 +2309,46 @@ class DataProcessor:
|
|||||||
# Sammle Sheet Updates (AR, AT, AP) fuer diesen Batch.
|
# Sammle Sheet Updates (AR, AT, AP) fuer diesen Batch.
|
||||||
# Dies geschieht jetzt nach der parallelen Verarbeitung.
|
# Dies geschieht jetzt nach der parallelen Verarbeitung.
|
||||||
if scraping_results:
|
if scraping_results:
|
||||||
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 = []
|
||||||
# Iteriere über die Ergebnisse des finalen Batches
|
# Iteriere über die Ergebnisse des finalen Batches
|
||||||
for row_num, result_dict in scraping_results.items():
|
for row_num, result_dict in scraping_results.items():
|
||||||
# Füge Updates für Rohtext, Meta-Details, Timestamp und Version hinzu
|
# Füge Updates für Rohtext, Meta-Details, Timestamp und Version hinzu
|
||||||
# Wir verwenden hier die zuvor ermittelten col_indices
|
# Wir verwenden hier die zuvor ermittelten col_indices
|
||||||
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(col_indices["Website Rohtext"] + 1)}{row_num}', 'values': [[result_dict.get('raw_text', 'k.A.')]]})
|
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(col_indices["Website Rohtext"] + 1)}{row_num}', 'values': [[result_dict.get('raw_text', 'k.A.')]]})
|
||||||
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(col_indices["Website Meta-Details"] + 1)}{row_num}', 'values': [[result_dict.get('meta_details', 'k.A.')]]})
|
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(col_indices["Website Meta-Details"] + 1)}{row_num}', 'values': [[result_dict.get('meta_details', 'k.A.')]]})
|
||||||
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(col_indices["Website Scrape Timestamp"] + 1)}{row_num}', 'values': [[current_timestamp]]})
|
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(col_indices["Website Scrape Timestamp"] + 1)}{row_num}', 'values': [[current_timestamp]]})
|
||||||
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(col_indices["Version"] + 1)}{row_num}', 'values': [[current_version]]})
|
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(col_indices["Version"] + 1)}{row_num}', 'values': [[current_version]]})
|
||||||
|
|
||||||
all_sheet_updates.extend(batch_sheet_updates)
|
all_sheet_updates.extend(batch_sheet_updates)
|
||||||
|
|
||||||
# Leere den Scraping-Batch fuer die naechste Iteration
|
# Leere den Scraping-Batch fuer die naechste Iteration
|
||||||
tasks_for_processing_batch = []
|
tasks_for_processing_batch = []
|
||||||
rows_in_current_scraping_batch = []
|
rows_in_current_scraping_batch = []
|
||||||
|
|
||||||
# Sende gesammelte Sheet Updates, wenn das Update-Batch-Limit erreicht ist.
|
# Sende gesammelte Sheet Updates, wenn das Update-Batch-Limit erreicht ist.
|
||||||
# Updates pro Zeile sind 3 (AR, AT, AP). Anzahl der Zeilen =
|
# Updates pro Zeile sind 3 (AR, AT, AP). Anzahl der Zeilen =
|
||||||
# len(all_sheet_updates) / 3.
|
# len(all_sheet_updates) / 3.
|
||||||
rows_in_update_batch = len(
|
rows_in_update_batch = len(
|
||||||
all_sheet_updates) // 3 # Ganzzahl-Division
|
all_sheet_updates) // 3 # Ganzzahl-Division
|
||||||
|
|
||||||
if rows_in_update_batch >= update_batch_row_limit:
|
if rows_in_update_batch >= update_batch_row_limit:
|
||||||
self.logger.debug(
|
self.logger.debug(
|
||||||
f" Sende gesammelte Sheet-Updates ({rows_in_update_batch} Zeilen, {len(all_sheet_updates)} Zellen)...") # <<< GEÄNDERT
|
f" Sende gesammelte Sheet-Updates ({rows_in_update_batch} Zeilen, {len(all_sheet_updates)} Zellen)...") # <<< GEÄNDERT
|
||||||
# Nutzt die batch_update_cells Methode des Sheet Handlers (Block 14) mit Retry.
|
# Nutzt die batch_update_cells Methode des Sheet Handlers (Block 14) mit Retry.
|
||||||
# Wenn es fehlschlaegt, wird es intern geloggt.
|
# Wenn es fehlschlaegt, wird es intern geloggt.
|
||||||
success = self.sheet_handler.batch_update_cells(
|
success = self.sheet_handler.batch_update_cells(
|
||||||
all_sheet_updates)
|
all_sheet_updates)
|
||||||
if success:
|
if success:
|
||||||
self.logger.info(
|
self.logger.info(
|
||||||
f" Sheet-Update fuer {rows_in_update_batch} Zeilen erfolgreich.") # <<< GEÄNDERT
|
f" Sheet-Update fuer {rows_in_update_batch} Zeilen erfolgreich.") # <<< GEÄNDERT
|
||||||
# Der Fehlerfall wird von batch_update_cells geloggt
|
# Der Fehlerfall wird von batch_update_cells geloggt
|
||||||
|
|
||||||
# Leere die gesammelten Updates nach dem Senden.
|
# Leere die gesammelten Updates nach dem Senden.
|
||||||
all_sheet_updates = []
|
all_sheet_updates = []
|
||||||
# rows_in_update_batch muss nicht explizit zurueckgesetzt
|
# rows_in_update_batch muss nicht explizit zurueckgesetzt
|
||||||
# werden, da es aus len(all_sheet_updates) berechnet wird.
|
# werden, da es aus len(all_sheet_updates) berechnet wird.
|
||||||
|
|
||||||
# Keine Pause hier nach jedem kleinen Scraping-Batch, da wir auf batch_update warten.
|
# Keine Pause hier nach jedem kleinen Scraping-Batch, da wir auf batch_update warten.
|
||||||
# Die Pause kommt erst nach dem Batch-Update (oder am Ende des Modus).
|
# Die Pause kommt erst nach dem Batch-Update (oder am Ende des Modus).
|
||||||
|
|||||||
Reference in New Issue
Block a user