PowerShell / PowerShell/PowerShellEditorServices

Improve pipeline thread consumer task cancellation

Aperta
#1,594 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Area-Engine Area-Threading Issue-Bug
Lingua principale
C#
Stelle
767
Fork
266
Merge medio
3g 16h
PR unite (30g)
1

Descrizione

Because the pipeline thread consumer is single-threaded and runs tasks sequentially, there's the real possibility that a single bad task could starve it.

For now, Ctrl+C should cancel whatever task is running. This may indeed include background tasks...

But some ideas for improving this are:

  • A key-chord to cancel/unblock the pipeline thread when something other than console input is being run
  • A monitor thread to supervise the pipeline thread that:
    • Logs when tasks drag on
    • Alerts users to long running tasks
    • Allows cancellation
    • Can completely reset the main runspace...

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

Non viene indicato alcun file, test o punto di ingresso. Inizia individuando il consumer del thread della pipeline e tracciando il suo percorso di cancellazione esistente per Ctrl+C; chiarisci quale comportamento di cancellazione e monitoraggio è richiesto prima di modificarlo. Il lavoro dovrebbe considerarsi completato quando include un approccio concordato per impedire che un'attività di lunga durata faccia morire di fame il consumer.

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

Valutazione

Stack tecnologico
csharp, powershell
Ambito
tooling
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.