feat(worker): add PlanningMergeOrchestrator.AbortAsync
This commit is contained in:
@@ -82,6 +82,16 @@ public sealed class PlanningMergeOrchestrator
|
||||
await DrainAsync(planningTaskId, ct);
|
||||
}
|
||||
|
||||
public async Task AbortAsync(string planningTaskId, CancellationToken ct)
|
||||
{
|
||||
if (!_states.TryGetValue(planningTaskId, out var state) || state.CurrentSubtaskId is null)
|
||||
throw new InvalidOperationException("no in-progress merge to abort");
|
||||
|
||||
await _merge.AbortMergeAsync(state.CurrentSubtaskId, ct);
|
||||
_states.TryRemove(planningTaskId, out _);
|
||||
await _broadcaster.PlanningMergeAborted(planningTaskId);
|
||||
}
|
||||
|
||||
private async Task DrainAsync(string planningTaskId, CancellationToken ct)
|
||||
{
|
||||
if (!_states.TryGetValue(planningTaskId, out var state)) return;
|
||||
|
||||
Reference in New Issue
Block a user