symfony/amazon-sqs-messenger
Amazon SQS transport for Symfony Messenger, with FIFO and fair-queue support, X-Ray trace stamps, receipt-handle handling, and middleware for automatic FIFO group and deduplication IDs. Includes AmazonSqsFifoStamp, AmazonSqsFairQueueStamp, AmazonSqsXrayTraceHeaderStamp, and AmazonSqsReceivedStamp.
symfony/amazon-sqs-messenger is the maintained, battle-tested SQS transport for Symfony Messenger. If your product roadmap includes SQS-backed async work (order processing, notifications, media pipelines, webhook fan-out), adopting this package eliminates a multi-sprint effort to implement long-polling, batch send/receive, visibility-timeout extension, FIFO group/dedup IDs, and dead-letter queue handling yourself.Adopt when:
DelaySeconds, per-message visibility extension for long jobs, batch dispatch, or explicit DLQ redrive behaviour.SIGTERM — the v8.1.8 signal-holding fix is precisely the class of behaviour that matters here.Look elsewhere when:
For executives: This is a small, well-maintained library that connects our applications to Amazon SQS — the managed queue service we already pay for. It removes the need to write and maintain custom queue plumbing, and the latest patch tightens shutdown behaviour so in-flight messages are not cut off mid-send during deployments. That reduces duplicate or lost work at exactly the moment — a release or a scale-down — when reliability is most visible to customers. Recommendation: approve as a standard dependency where we already use the Symfony Messenger pattern; no licensing cost, no vendor lock-in beyond SQS itself.
For engineering: v8.1.8 is a single bug fix: signals are now deferred until the SQS request has actually been dispatched, so a SIGTERM during a send no longer interrupts a partially completed request. Patch-level, no API or configuration changes, no migration required — safe to take on the normal upgrade cadence. Treat it as evidence the transport is actively maintained on operational correctness rather than features. Adoption guidance: use it where Messenger semantics are genuinely required; keep the native Laravel queue driver for straightforward jobs to avoid maintaining two messaging abstractions. Pair adoption with explicit decisions on retry/backoff policy, DLQ redrive ownership, and worker shutdown timeout values — those remain our responsibility, not the package's.
How can I help you explore Laravel packages today?