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:
@@ -40,24 +40,24 @@ def clean_text_for_so(text, limit=200):
|
||||
return str(text).strip()[:limit]
|
||||
|
||||
def process_job(job, so_client: SuperOfficeClient, queue: JobQueue):
|
||||
|
||||
"""
|
||||
|
||||
Core logic for processing a single job.
|
||||
|
||||
Returns: (STATUS, MESSAGE)
|
||||
|
||||
STATUS: 'SUCCESS', 'SKIPPED', 'DELETED', 'RETRY', 'FAILED'
|
||||
|
||||
"""
|
||||
|
||||
logger.info(f"--- [WORKER v1.9.5] Processing Job {job['id']} ({job['event_type']}) ---")
|
||||
|
||||
logger.info(f"--- [WORKER v1.9.7] Processing Job {job['id']} ({job['event_type']}) ---")
|
||||
payload = job['payload']
|
||||
|
||||
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 ---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user