Jeder Hintergrundjob ist sichtbar, fortsetzbar und kontrollierbar — auch nach einem Neustart.
curl "$API/jobs/lanes"
{
"lanes": [
{ "lane": "statements.esef", "running": 1, "backlog": 412 },
{ "lane": "earnings.dates.repair", "running": 0, "backlog": 0 }
]
}
POST /sync/all — blockiert nie.Ein Job, dessen Prozess stirbt, blieb früher für immer auf „läuft“ stehen — und blockierte damit jeden weiteren Lauf derselben Lane.
Jeder Job trägt jetzt die Kennung des Prozesses, der ihn gestartet hat. Wer diese Kennung nicht hat, kann nicht mehr laufen und wird entsprechend geführt. Das ist die ganze Idee, und sie hat beim ersten Start zwölf Karteileichen aufgelöst.
Läufe werden aus dem Datenbestand abgeleitet, nicht aus einem Offset. Ein abgebrochener Lauf setzt deshalb dort fort, wo er stand, ohne Buchhaltung.
| GET | /jobs/lanes | Rückstand je Lane |
| GET | /jobs/{job_id} | Status eines Jobs |
| POST | /jobs/{job_id}/cancel | Job abbrechen |
| POST | /sync/all | Alle fälligen Läufe |
Fehlt etwas, passt etwas nicht oder ist eine Antwort unklar? Schreiben Sie es hier hin — es landet direkt bei uns.