openworkflowdev / openworkflowdev/openworkflow
Workflow run retention policy
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 1.3k
- Forks
- 66
- Ø Merge
- 1 T. 1 Std.
- Gemergte PRs (30 T.)
- 69
Beschreibung
Desired Behavior
It will be nice to have a way to configure retention period and automatically clean up workflows in terminal states without manual intervention, similar to Temporal's History Scavenger.
Possible design
// openworkflow.config.ts
export default defineConfig({
...,
retention: {
enabled: true,
period: "30d", // shorthand, any workflow runs in terminal state past 30 days will be removed
}
});
This is to keep it simple for now. In the future there could be more fine-grained control - e.g. frequency of this job, when to run it, customize what workflow run statuses to clean up.
I think there's a dependency on https://github.com/openworkflowdev/openworkflow/issues/246 before this can be considered.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der Überprüfung der in issue #246 genannten Abhängigkeit und untersuche anschließend den durch openworkflow.config.ts und defineConfig dargestellten Konfigurationseinstiegspunkt. Implementiere die vorgeschlagenen Einstellungen retention.period und enabled, sodass Workflow-Ausführungen in terminalen Zuständen, die älter als der konfigurierte Zeitraum sind, automatisch entfernt werden. Als erledigt gilt die Aufgabe, wenn sich das Aufbewahrungsverhalten ohne manuelle Bereinigung konfigurieren lässt und dem angegebenen 30-Tage-Beispiel entspricht.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- backend
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 42/100