docs(09-02): complete batch execution and progress plan
Tasks completed: 3/3 - Add Loop Over Items for sequential batch execution - Add per-container progress updates and action execution - Add batch summary with failure emphasis SUMMARY: .planning/phases/09-batch-operations/09-02-SUMMARY.md
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
---
|
||||
phase: 09-batch-operations
|
||||
plan: 02
|
||||
subsystem: bot
|
||||
tags: [n8n, telegram, batch, loop, progress, docker]
|
||||
|
||||
# Dependency graph
|
||||
requires:
|
||||
- phase: 09-01
|
||||
provides: Batch command parsing with container matching and Route Batch Action
|
||||
provides:
|
||||
- Sequential batch execution with Loop Over Items pattern
|
||||
- Per-container progress updates via Telegram editMessageText
|
||||
- Error isolation (one failure does not abort batch)
|
||||
- Failure-emphasized summary with Back to List navigation
|
||||
affects: [09-03, 10-polish]
|
||||
|
||||
# Tech tracking
|
||||
tech-stack:
|
||||
added: []
|
||||
patterns:
|
||||
- splitInBatches node for sequential execution
|
||||
- Two-phase action execution (lookup then execute)
|
||||
- Progress message editing during long operations
|
||||
|
||||
key-files:
|
||||
created: []
|
||||
modified:
|
||||
- n8n-workflow.json
|
||||
|
||||
key-decisions:
|
||||
- "Container lookup for callbacks without Id - use filters API"
|
||||
- "Two-phase execution - lookup then action for name-only containers"
|
||||
- "Progress edit every container - batch sizes typically 2-5"
|
||||
- "Warnings shown in detail for <= 3, summary for > 3"
|
||||
- "Is Batch Complete IF node routes to summary vs loop continuation"
|
||||
|
||||
patterns-established:
|
||||
- "Loop with isComplete check for summary timing"
|
||||
- "onError: continueRegularOutput for non-aborting execution"
|
||||
- "Result aggregation via passed state (results array, counters)"
|
||||
|
||||
# Metrics
|
||||
duration: 7min
|
||||
completed: 2026-02-04
|
||||
---
|
||||
|
||||
# Phase 9 Plan 02: Batch Execution and Progress Summary
|
||||
|
||||
**Sequential batch execution with Loop Over Items, per-container progress edits, error isolation, and failure-emphasized summaries**
|
||||
|
||||
## Performance
|
||||
|
||||
- **Duration:** 7 min
|
||||
- **Started:** 2026-02-04T02:26:37Z
|
||||
- **Completed:** 2026-02-04T02:33:47Z
|
||||
- **Tasks:** 3
|
||||
- **Files modified:** 1
|
||||
|
||||
## Accomplishments
|
||||
- Sequential batch execution loop processes containers one at a time
|
||||
- Progress message updates in real-time for each container being processed
|
||||
- One container failure does not abort the batch - remaining containers continue
|
||||
- Final summary emphasizes failures with container names and reasons
|
||||
- Back to List button for navigation after batch completion
|
||||
|
||||
## Task Commits
|
||||
|
||||
Each task was committed atomically:
|
||||
|
||||
1. **Task 1: Add Loop Over Items for sequential batch execution** - `62f50cb` (feat)
|
||||
2. **Task 2: Add per-container progress updates and action execution** - `fd4c614` (feat)
|
||||
3. **Task 3: Add batch summary with failure emphasis** - `b704a6c` (feat)
|
||||
|
||||
## Files Created/Modified
|
||||
- `n8n-workflow.json` - Added 20 new nodes for batch execution flow
|
||||
|
||||
## New Nodes Added (20 total)
|
||||
|
||||
### Batch Initialization (4)
|
||||
1. Initialize Batch State - Prepares batch data structure
|
||||
2. Send Batch Start Message - Initial "Starting batch..." message
|
||||
3. Prepare Batch Loop - Formats containers for loop iteration
|
||||
4. Batch Loop - splitInBatches node with batch size 1
|
||||
|
||||
### Progress and Execution (10)
|
||||
5. Build Progress Message - Creates per-container progress text
|
||||
6. Edit Progress Message - Updates Telegram message
|
||||
7. Route Batch Loop Action - Routes by action type
|
||||
8. Build Batch Action Command - Prepares curl command
|
||||
9. Execute Batch Container Action - Runs the action
|
||||
10. Check Batch Action Result - Handles lookup vs direct result
|
||||
11. Needs Action Call - IF node for two-phase execution
|
||||
12. Execute Batch Action 2 - Second phase execution
|
||||
13. Parse Batch Action 2 - Parses second phase result
|
||||
14. Handle Action Result - Aggregates success/failure/warning
|
||||
|
||||
### Loop Control and Summary (4)
|
||||
15. Prepare Next Iteration - Sets isComplete flag
|
||||
16. Is Batch Complete - Routes to summary or loop continuation
|
||||
17. Build Batch Summary - Creates failure-emphasized summary
|
||||
18. Send Batch Summary - Posts final summary with Back to List button
|
||||
|
||||
### Callback Preparation (2)
|
||||
19. Prepare Batch Stop Exec - Transforms bstop:confirm callback data
|
||||
20. Prepare Batch Exec - Transforms bexec callback data
|
||||
|
||||
## Decisions Made
|
||||
|
||||
| Decision | Rationale |
|
||||
|----------|-----------|
|
||||
| Two-phase execution for name-only containers | Callbacks from bstop/bexec have names but no IDs - need lookup first |
|
||||
| onError: continueRegularOutput | Ensures one failure doesn't abort entire batch |
|
||||
| Is Batch Complete IF node | Clean routing to summary instead of relying on loop second output |
|
||||
| Warnings shown in detail for <= 3 | Per context discretion - show details when few, summary when many |
|
||||
| Progress edit every container | Typical batch is 2-5 containers, rate limiting not a concern |
|
||||
|
||||
## Deviations from Plan
|
||||
|
||||
None - plan executed exactly as written.
|
||||
|
||||
## Issues Encountered
|
||||
None
|
||||
|
||||
## User Setup Required
|
||||
|
||||
None - no external service configuration required.
|
||||
|
||||
## Next Phase Readiness
|
||||
|
||||
**Ready for Plan 03:** Batch update workflow integration.
|
||||
|
||||
The following are now available for Plan 03:
|
||||
- Complete batch execution pipeline for start/stop/restart
|
||||
- Route Batch Loop Action output 0 (update) is empty - needs full update flow
|
||||
- Pattern established for sequential execution with progress
|
||||
- Error isolation and summary patterns ready to reuse
|
||||
|
||||
**Note:** Route Batch Loop Action update output needs to connect to the full update sequence (pull, stop, remove, create, start) similar to single-container update flow.
|
||||
|
||||
---
|
||||
*Phase: 09-batch-operations*
|
||||
*Completed: 2026-02-04*
|
||||
Reference in New Issue
Block a user