Decompose: Documented concurrency contract (throughput, per-request bounds, failure semantics) — Phase 2: Per-request bounds (questions 2, 3, 4) #70
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#70
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 2: Per-request bounds (questions 2, 3, 4)
Goal: Lock the per-request resource limits.
Specifically:
seconds for export. Justify: a 4 MP image at 0.4mm density is
~600K stitches, generated in < 5 seconds; 60s gives 12× headroom.
pipeline at 4 MP peaks at ~800 MB.
worker thread is interrupted within 1 second (set a flag the
pipeline checks between stages; full thread cancellation is unsafe
because of numpy/scipy GIL interactions).
Files:
docs/concurrency.md(add these 3 answers)Acceptance:
Gateway Timeout.
503 with a clear error.
worker to stop within 1 second.
Depends on: P1 (overall policy).
Decomposed from easystitch#43