data_processor.py aktualisiert
This commit is contained in:
@@ -2421,6 +2421,39 @@ class DataProcessor:
|
|||||||
self.logger.info(
|
self.logger.info(
|
||||||
f"Website-Scraping (Batch) abgeschlossen. {processed_count} Zeilen verarbeitet, {skipped_count} Zeilen uebersprungen.")
|
f"Website-Scraping (Batch) abgeschlossen. {processed_count} Zeilen verarbeitet, {skipped_count} Zeilen uebersprungen.")
|
||||||
|
|
||||||
|
def _scrape_raw_text_task(self, task_info, scrape_function):
|
||||||
|
"""
|
||||||
|
Worker-Funktion, die von jedem Thread im ThreadPoolExecutor ausgeführt wird.
|
||||||
|
Ruft die übergebene Scraping-Funktion (get_website_raw) auf.
|
||||||
|
Gibt IMMER ein Dictionary zurück, um Abstürze zu vermeiden.
|
||||||
|
"""
|
||||||
|
url = task_info.get('url')
|
||||||
|
row_num = task_info.get('row_num')
|
||||||
|
self.logger.debug(f" -> Scrape Task gestartet für Zeile {row_num}: {url}")
|
||||||
|
|
||||||
|
try:
|
||||||
|
# Hier rufen wir die gehärteten Helper-Funktionen auf
|
||||||
|
raw_text_result = get_website_raw(url)
|
||||||
|
meta_details_result = scrape_website_details(url)
|
||||||
|
|
||||||
|
# Gib immer ein Dictionary mit den Ergebnissen zurück
|
||||||
|
return {
|
||||||
|
'row_num': row_num,
|
||||||
|
'raw_text': raw_text_result,
|
||||||
|
'meta_details': meta_details_result,
|
||||||
|
'error': None
|
||||||
|
}
|
||||||
|
except Exception as e:
|
||||||
|
# Dieser Block ist ein zusätzliches Sicherheitsnetz, falls die Helper doch abstürzen
|
||||||
|
self.logger.error(f"FATALER FEHLER im Scraping Worker für Zeile {row_num}: {e}", exc_info=True)
|
||||||
|
return {
|
||||||
|
'row_num': row_num,
|
||||||
|
'raw_text': f'k.A. (FATALER WORKER FEHLER: {e})',
|
||||||
|
'meta_details': 'k.A.',
|
||||||
|
'error': True
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def process_summarization_batch(
|
def process_summarization_batch(
|
||||||
self,
|
self,
|
||||||
start_sheet_row=None,
|
start_sheet_row=None,
|
||||||
|
|||||||
Reference in New Issue
Block a user