Skip to content

Resilient Task Orchestrator Example#512

Merged
ricardozanini merged 12 commits into
quarkiverse:mainfrom
ricardozanini:examples/resilient-task-orchestrator
May 11, 2026
Merged

Resilient Task Orchestrator Example#512
ricardozanini merged 12 commits into
quarkiverse:mainfrom
ricardozanini:examples/resilient-task-orchestrator

Conversation

@ricardozanini
Copy link
Copy Markdown
Member

@ricardozanini ricardozanini commented May 1, 2026

An educational example demonstrating event-driven task choreography patterns using Quarkus Flow and Kafka.

What It Demonstrates

Event-Driven Choreography: A coordinator workflow decomposes a build pipeline into independent tasks (lint, test, build, deploy) and emits events. Each task is handled by a separate workflow instance that executes, retries on failure, and emits completion events.

Idempotent Phase Execution: Tasks are divided into phases (e.g., compile → package → verify). Completed phases are tracked and skipped on retry, allowing safe resume from the exact failure point.

Automatic Retry: Failed tasks retry up to 5 times. The retry logic properly returns FAILED status instead of throwing exceptions, allowing the workflow to continue through the retry loop.

Pattern: Saga Choreography - tasks communicate via events rather than direct orchestration, providing fault isolation and independent scaling.

Use Case

Build pipeline orchestration where:

  • Tasks can fail and retry independently
  • One task failure doesn't block others
  • Tasks execute idempotently (safe to re-run)
  • Phases resume from last checkpoint

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 1, 2026

🙈 The PR is closed and the preview is expired.

@ricardozanini
Copy link
Copy Markdown
Member Author

@ricardozanini ricardozanini force-pushed the examples/resilient-task-orchestrator branch from 3c02963 to 1298ca4 Compare May 5, 2026 18:12
Signed-off-by: Ricardo Zanini <ricardozanini@gmail.com>
Signed-off-by: Ricardo Zanini <ricardozanini@gmail.com>
Signed-off-by: Ricardo Zanini <ricardozanini@gmail.com>
Signed-off-by: Ricardo Zanini <ricardozanini@gmail.com>
Signed-off-by: Ricardo Zanini <ricardozanini@gmail.com>
Signed-off-by: Ricardo Zanini <ricardozanini@gmail.com>
Signed-off-by: Ricardo Zanini <ricardozanini@gmail.com>
@ricardozanini ricardozanini force-pushed the examples/resilient-task-orchestrator branch from 1298ca4 to 23ef26c Compare May 6, 2026 18:31
@ricardozanini ricardozanini changed the title WIP - Examples/resilient task orchestrator Resilient Task Orchestrator Example May 6, 2026
@ricardozanini ricardozanini marked this pull request as ready for review May 6, 2026 18:33
@ricardozanini ricardozanini requested a review from a team as a code owner May 6, 2026 18:34
@ricardozanini ricardozanini requested a review from a team May 6, 2026 18:34
ricardozanini and others added 5 commits May 6, 2026 14:35
Signed-off-by: Ricardo Zanini <ricardozanini@gmail.com>
Signed-off-by: Ricardo Zanini <ricardozanini@gmail.com>
Signed-off-by: Ricardo Zanini <ricardozanini@gmail.com>
Signed-off-by: Ricardo Zanini <ricardozanini@gmail.com>
@ricardozanini ricardozanini merged commit 43d9fbb into quarkiverse:main May 11, 2026
8 checks passed
@ricardozanini ricardozanini deleted the examples/resilient-task-orchestrator branch May 11, 2026 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants