Skip to content

Bug: stellen_bulk_bewerten UND stellen_auto_aussortieren laufen in 4-Min-Timeout (auch Dry-Run mit 5 Treffern) — Massen-Aussortieren unbenutzbar #646

@MadGapun

Description

@MadGapun

Symptom

Beim Aufräumen einer frischen Jobsuche (93 neue Stellen, 30.05.2026) sind ZWEI Massen-Aussortier-Tools reproduzierbar in 4-Minuten-Timeouts gelaufen, während einzelne stelle_bewerten- und lesende stellen_anzeigen-Aufrufe normal funktionierten.

Betroffen

  1. stellen_auto_aussortieren(dry_run=True, max_stellen=60, min_score=10) → Timeout (4 Min, keine Antwort).
    • Vermutlich: 60 sequentielle Ollama-Anfragen match_job_to_skills an ELWOSA überschreiten das MCP-Antwortzeitfenster. Ein Lauf über so viele Stellen ist nicht abschließbar, bevor der Client aufgibt.
  2. stellen_bulk_bewerten(...) → Timeout, AUCH mit engstem Filter (titel_enthaelt=["Finance Manager"], max_treffer=5, dry_run=True).
    • Das ist der eigentlich überraschende Fall: Ein reiner serverseitiger DB-Filter auf 5 Treffer im Dry-Run sollte in Millisekunden zurückkommen. Stattdessen hängt er konsistent.

Eingrenzung

  • Direkt davor lief stellen_auto_aussortieren in den Timeout. Möglich, dass dieser hängende Ollama-Call eine Ressource/Lock hält, das nachfolgende Bulk-Operationen blockiert.
  • Nach den Timeouts funktionierte ein leichter Lese-Call (stellen_anzeigen min_score=60 pro_seite=5) sofort wieder → der MCP-Server als Ganzes lebt, nur die Massen-Schreib-/LLM-Pfade hängen.
  • Einzelnes stelle_bewerten(job_hash, 'passt_nicht', ['falsches_fachgebiet']) funktionierte einwandfrei.

Auswirkung

Das Aussortieren großer Treffermengen (genau der Anwendungsfall, für den #514 / stellen_bulk_bewerten gebaut wurde) ist aktuell nicht nutzbar. Der User muss auf langsames Einzel-Bewerten ausweichen oder das Dashboard nutzen.

Verdacht / zu prüfen

  1. stellen_bulk_bewerten Dry-Run: Warum blockiert ein 5-Treffer-Filter? Hängt evtl. an einem gemeinsamen DB-Lock (SQLite WAL?) mit einem noch laufenden Hintergrund-Schritt (Auto-Refetch-Descriptions Stellenbeschreibung nachladen: Auto-Refetch + Per-Klick + MCP-Tool #622 läuft nach jeder Suche, max 8 Stellen, HTTP-GETs — könnte die DB sperren).
  2. stellen_auto_aussortieren: Harte Obergrenze + Timeout-Budget pro Ollama-Call einführen; bei Nichterreichbarkeit von Ollama schnell mit klarer Meldung abbrechen statt 4 Min hängen. Batch-Größe drastisch senken (z.B. 10 statt 50/60) und idempotent fortsetzbar machen.
  3. Generell: MCP-Tools sollten ein internes Timeout < Client-Timeout (4 Min) haben und einen Teilfortschritt/status: timeout zurückgeben statt stumm zu hängen.

Kontext

Profil-ID e913acc3. Suche 4e3c297a (93 Treffer) lief unmittelbar davor erfolgreich durch. Tritt nach v1.7.0-beta.x auf.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions