PowerShell / PowerShell/PowerShellEditorServices
Improve pipeline thread consumer task cancellation
オープン
まだ誰も着手していません。
Area-Engine
Area-Threading
Issue-Bug
- 主要言語
- C#
- スター
- 767
- フォーク
- 266
- 平均マージ
- 3日 16時間
- マージ済み PR(30日)
- 1
説明
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...
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
ファイル、テスト、エントリーポイントのいずれも指定されていません。まず pipeline のスレッドコンシューマーを特定し、既存の Ctrl+C によるキャンセル経路を追跡してください。変更する前に、どのようなキャンセルおよび監視の動作が必要かを明確にしてください。完了条件には、長時間実行タスクによってコンシューマーが飢餓状態にならないようにするための合意済みのアプローチが含まれている必要があります。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- csharp, powershell
- 領域
- tooling
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100