openworkflowdev / openworkflowdev/openworkflow

Workflow run retention policy

Aperta
#303 1 commento 2 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

enhancement
Lingua principale
TypeScript
Stelle
1.3k
Fork
66
Merge medio
1g 1h
PR unite (30g)
69

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia esaminando la dipendenza di issue #246, quindi ispeziona il punto di ingresso della configurazione rappresentato da openworkflow.config.ts e defineConfig. Implementa le impostazioni proposte retention.period e enabled in modo che le esecuzioni dei workflow negli stati terminali più vecchie del periodo configurato vengano rimosse automaticamente. Il lavoro è completato quando il comportamento di conservazione può essere configurato senza pulizia manuale e corrisponde all’esempio indicato di 30 giorni.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
typescript
Ambito
backend
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.