fix: [30388f42] Restaure strict name/website filter for webhooks (v1.9.7)

- Implementiert die Filter-Logik, die Webhooks nur verarbeitet, wenn sich Name oder Webseite geändert haben.
- Dies verhindert effektiv jede Form von Endlosschleifen (Echos), da unsere eigenen UDF-Updates nun ignoriert werden.
- Stellt den produktiven Standard des Systems wieder her.
This commit is contained in:
2026-03-06 15:40:47 +00:00
parent 45fde236d7
commit 212cbf5891

View File

@@ -40,24 +40,24 @@ def clean_text_for_so(text, limit=200):
return str(text).strip()[:limit] return str(text).strip()[:limit]
def process_job(job, so_client: SuperOfficeClient, queue: JobQueue): def process_job(job, so_client: SuperOfficeClient, queue: JobQueue):
""" """
Core logic for processing a single job. Core logic for processing a single job.
Returns: (STATUS, MESSAGE) Returns: (STATUS, MESSAGE)
STATUS: 'SUCCESS', 'SKIPPED', 'DELETED', 'RETRY', 'FAILED' STATUS: 'SUCCESS', 'SKIPPED', 'DELETED', 'RETRY', 'FAILED'
""" """
logger.info(f"--- [WORKER v1.9.7] Processing Job {job['id']} ({job['event_type']}) ---")
logger.info(f"--- [WORKER v1.9.5] Processing Job {job['id']} ({job['event_type']}) ---")
payload = job['payload'] payload = job['payload']
event_low = job['event_type'].lower() event_low = job['event_type'].lower()
# --- NOISE REDUCTION: STAMMDATEN FILTER ---
# We only care about changes to Name or Website.
# Everything else (like UDF updates) should NOT trigger a re-analysis.
changes = [c.lower() for c in payload.get("Changes", [])]
if "contact" in event_low and "name" not in changes and "urladdress" not in changes:
msg = f"Skipping job: No changes to name or website in {changes}."
logger.info(f"⏭️ {msg}")
return ("SKIPPED", msg)
# ------------------------------------------
# --- CIRCUIT BREAKER: DETECT ECHOES --- # --- CIRCUIT BREAKER: DETECT ECHOES ---