skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
dev-toolings/superpowers-symfony113 installs

messenger-retry-failures

Handle message failures with retry strategies, failure transport, and recovery in Symfony Messenger (Recoverable/Unrecoverable exceptions)

How do I install this agent skill?

npx skills add https://github.com/dev-toolings/superpowers-symfony --skill messenger-retry-failures
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    The skill is generally safe but contains an indirect prompt injection surface because it instructs the agent to use shell commands to read untrusted data from a message queue without sanitization or boundary markers.

  • Socketpass

    No alerts

  • Snykpass

    Risk: LOW · No issues

What does this agent skill do?

Messenger Retry Failures (Symfony)

Use when

  • A handler fails and you must decide between retrying and giving up.
  • Tuning retry_strategy (max_retries, delay, multiplier, max_delay) for a transport.
  • Inspecting, retrying, or removing messages in the failure transport.
  • Alerting when a message fails for good.

Default workflow

  1. Classify each failure: UnrecoverableMessageHandlingException when retrying cannot help, RecoverableMessageHandlingException when the cause is transient.
  2. Set retry_strategy per transport and point failure_transport to a dedicated queue.
  3. Implement RetryStrategyInterface only when the built-in backoff is not enough, and register it through retry_strategy.service.
  4. Make the handler idempotent, with a stable idempotency key for external calls.
  5. Triage with messenger:failed:show, then messenger:failed:retry or messenger:failed:remove.
  6. Subscribe to WorkerMessageFailedEvent and alert only when willRetry() is false.

Guardrails

  • Never retry what cannot succeed, such as invalid input or a declined card.
  • Keep max_retries modest (3-5 usually) with exponential backoff, so a failing service is not hammered.
  • retryDelay and forceRetry on the recoverable exception are marked 8.1+ in the reference, and forceRetry: true goes past max_retries: verify the version before relying on them.
  • messenger:failed:retry is interactive unless --force: read the message with -vv first.

Progressive disclosure

  • Use this file for execution posture and risk controls.
  • Open references when deep implementation details are needed.

Output contract

  • The exception class chosen for each failure mode of the handler.
  • Retry settings per transport, and the failure transport.
  • The failed-message runbook (show, retry, remove) and the alert on final failure.

References

  • reference.md

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/dev-toolings/superpowers-symfony/messenger-retry-failures">View messenger-retry-failures on skillZs</a>