PowerShell / PowerShell/PowerShellEditorServices

Improve pipeline thread consumer task cancellation

Ouverte
#1,594 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Area-Engine Area-Threading Issue-Bug
Langage dominant
C#
Étoiles
767
Forks
266
Merge moyen
3 j 16 h
PR mergées (30 j)
1

Description

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...

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Aucun fichier, test ou point d’entrée n’est nommé. Commencez par localiser le consommateur du thread du pipeline et suivre son chemin de cancellation existant pour Ctrl+C ; clarifiez quel comportement d’annulation et de surveillance est requis avant de le modifier. La tâche devrait être considérée comme terminée lorsqu’elle inclut une approche convenue pour empêcher qu’une tâche de longue durée n’affame le consommateur.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
csharp, powershell
Domaine
tooling
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.