StageTriggerSystemOutput
01 · SubmitTriggerProducer publishes a job with an idempotency keySystemSpring Boot API, Kafka topicOutputJob accepted; a duplicate key returns the original job instead of a second one
02 · ClaimTriggerWorker polls for available workSystemVisibility lease held in Redis with a TTLOutputJob claimed and invisible to other workers for the lease window
03 · ExecuteTriggerLease acquiredSystemHandler with an idempotency check before the side effectOutputEffect applied once; a replayed job is recognised and skipped
04 · HeartbeatTriggerEvery interval while the job runsSystemWorker heartbeat extending the leaseOutputLong jobs keep their claim; a crashed worker's lease expires and the job is reclaimed
05 · RetryTriggerHandler throws a retryable errorSystemExponential backoff with jitter, bounded attemptsOutputJob rescheduled; transient failures clear without operator involvement
06 · Dead-letterTriggerAttempts exhausted, or the payload is unprocessableSystemDead-letter topic, metrics, replay toolOutputPoison messages parked out of the hot path and replayable after a fix