Zum Inhalt springen

Cron-Jobs stabiler machen: Normalisierung und Schema-Alignment

Du kennst das sicher: Du schickst einen Request an eine API und erhältst einen Fehler, nur weil ein Feld leicht anders benannt ist oder in einem zusätzlichen Objekt steckt. Besonders nervig wird es, wenn die Dokumentation, das CLI und das UI unterschiedliche Begriffe verwenden. Wenn Schemas auseinanderlaufen, verbringst du mehr Zeit mit Debugging als mit dem eigentlichen Feature.

Wir haben uns das cron.add Handling und die dazugehörigen Schemas vorgenommen. Ziel war es, die Reibung zwischen den verschiedenen Tools zu eliminieren und dafür zu sorgen, dass deine Cron-Jobs einfach funktionieren, egal von wo aus du sie konfigurierst.

  • Zugriff auf das Gateway
  • Aktuelle Version des CLI
  • Control UI für das Monitoring
  • Agent Tool für automatisierte Job-Erstellung

Das Gateway ist jetzt deutlich toleranter beim Erstellen von Jobs. Wenn dein Client (zum Beispiel ein Agent) Daten leicht “falsch” verpackt sendet, bügelt das Gateway das intern glatt.

So sieht ein typischer, normalisierter Payload für cron.add aus:

{
"schedule": {
"kind": "cron",
"expression": "0 * * * *"
},
"payload": {
"kind": "webhook",
"url": "https://api.example.com/hook"
},
"wakeMode": "always",
"sessionTarget": "default"
}

Das Gateway unwrap-t jetzt automatisch data- oder job-Objekte, falls diese fälschlicherweise mitgeschickt werden. Zudem werden fehlende kind-Felder in schedule und payload ergänzt, sofern sie eindeutig ableitbar sind. Für wakeMode und sessionTarget werden sichere Standardwerte genutzt, falls du sie vergisst.

Hier sind die häufigsten Punkte, die uns in den Gateway-Logs aufgefallen sind, und wie du sie löst:

  • INVALID_REQUEST bei cron.add: Das passierte oft durch fehlende Felder wie sessionTarget oder falsch formatierte Schedules. Durch die neue Normalisierung sollten diese Fehler deutlich abnehmen.
  • Falsche Job-Anzahl in der UI: Falls deine Control UI bisher keine Jobs angezeigt hat, lag das an einem Mismatch zwischen jobCount und jobs. Nach einem Refresh der UI sollte die Anzahl korrekt aus dem Gateway-Feld jobs gelesen werden.
  • Fehlende Provider: Falls du Discord, Slack, Signal oder iMessage im CLI vermisst hast – diese sind nun konsistent über alle Plattformen (CLI, UI, macOS Picker) hinweg verfügbar.
  • Malformed Inputs durch Agents: Wir haben das Schema für das Agent Cron Tool exakt an das Gateway-Schema angepasst. Der LLM sollte nun deutlich seltener kaputte Payloads erzeugen.

Hast du Fragen zu deinem Setup? Frag den AI Setup Assistant.

  • Cron jobs: Schau dir die Details zur normalisierten Struktur und weitere Beispiele an.
  • Monitoring: Behalte die Gateway-Logs im Auge, um zu sehen, wie die INVALID_REQUEST Fehlerrate sinkt.
OpenClaw

OpenClaw Expert

Noch festgefahren?

Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.