Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Analytics shutdown flush is best-effort and can be lost on process exit

Aperta
#58 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
rust
Ambito
backend

Direzione di ricerca

Inizia tracciando il ciclo di vita di AnalyticsProcessor e i cloni che lo possiedono in Flags e Flagsmith. Confronta le opzioni elencate per l'arresto e il best-effort, inclusi la chiusura del canale e il join con limite di tempo. Il lavoro è completato quando la decisione sul ciclo di vita è esplicita e il comportamento di flush degli analytics all'uscita del processo è affidabile o documentato deliberatamente.

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

Descrizione

Following on from #55 / #57, the analytics thread now flushes buffered counts when its last sender drops, but nothing waits for that flush to finish.

We can fix that, however, we need to make design decisions around AnalyticsProcessor lifecycle to find the best place to block at. Right now, AnalyticsProcessor clones owned by Flags can outlive Flagsmith, which is arguably wrong.

Options
  1. Add explicit shutdown() on Flagsmith that closes the channel and joins with a bounded timeout; stop giving Flags an owning clone so the processor's lifetime is tied to Flagsmith alone.
  2. Leave it best-effort and document it.
  3. Something else?
Lingua principale
Rust
Stelle
8
Fork
8
Merge medio
20h 41m
PR unite (30g)
2

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

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.

Altre issue di Flagsmith/flagsmith-rust-client

Tutte le issue di Flagsmith/flagsmith-rust-client

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.