Design decision — pick the concurrency primitive #89
Labels
No labels
blocked:children
blocked:depends-101
blocked:depends-103
blocked:depends-104
blocked:needs-attention
blocked:needs-decision
blocked:no-changes
blocked:preflight
bug
chore
feature-request
in-progress
lint-cleanup
needs-decompose
performance
quality
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/easystitch#89
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 1: Design decision — pick the concurrency primitive
Goal: Lock the design before code. Two sub-decisions:
run_in_executor(offload to thread pool,no progress events) vs
progress_cbparameter onprocess()(allowsyield-between-stages progress reporting, requires
process()to berefactored to call the callback).
strings? Structured dicts with stage name + percentage? SSE event
format if going through FastAPI?
Files:
docs/design/async-pipeline.mdwith the decision, the rejectedalternatives, and the API contract.
Acceptance:
the two sub-decisions.
process_asyncorprocess(progress_cb=...), what the callback receives, when itfires, how cancellation works).
depends on it).
Why first: the API shape of P2/P3 follows from this. Doing P2/P3
without a locked decision risks rework.
Decomposed from easystitch#34
Decomposed from easystitch#51
Auto-triage: needs decompose
Marked
triage-approved+needs-decompose. decompose-executor will pick this up and break it into implementable sub-issues.