Session Concurrency: sessionKey / lane / queue
Session Concurrency: sessionKey / lane / queue
This chapter covers the queueing system. When it’s wrong, you get cross-talk, disorder, and context corruption.
Entry points:
Two-level queueing: session ordering + global limits
- session lanes keep a single
sessionKeyordered (serial) - global lanes cap concurrent work across sessions (resource protection)
Lane state: concurrency, warnings, and restart recovery
Useful mechanics to keep explicit:
maxConcurrentper lane- enqueue wait warnings (
warnAfterMs/onWait) as observability signals generationincrements on resets to ignore stale callbacks after in-process restarts
Clear vs reset
- clear cancels queued-but-not-started work
- reset clears active state, bumps generation, and drains backlog again
Code entry points (optional)
src/agents/pi-embedded-runner/lanes.tssrc/process/command-queue.tssrc/gateway/server-lanes.tssrc/gateway/server-session-key.tssrc/config/sessions/session-key.ts