Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Sqs Queue Driver Bundle Laravel Package

mcfedr/sqs-queue-driver-bundle

Symfony bundle that lets you use Amazon SQS as your queue driver, so you can offload background jobs to AWS without rewriting your existing messaging code.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — this is the headline problem. Despite being filed under a Laravel/PHP evaluation request, mcfedr/sqs-queue-driver-bundle is a Symfony bundle, not a Laravel package. It registers through Symfony's bundles.php / DependencyInjection/*Extension mechanism and exposes a Symfony Console worker command. Laravel has no bundle registration path, no ContainerBuilder compiler passes, and no Kernel::registerBundles(). There is no ServiceProvider, no config/queue.php connector contract, and no Illuminate\Contracts\Queue\Queue implementation. Wiring it in would mean either running a Symfony kernel inside Laravel (a well-known anti-pattern) or porting the worker loop and SQS client logic into a Laravel-native connector.

The deeper fit issue is duplication. Laravel already ships a production-grade SQS driver (Illuminate\Queue\SqsQueue) backed by aws/aws-sdk-php, with support for FIFO queues, message deduplication IDs, deduplication groups, delayed dispatch, visibility timeouts, and queue prefixes. The marginal capability this package offers over the first-party driver is, on inspection, close to zero. That reframes the evaluation from "how do we adopt this" to "what, if anything, do we learn from it."

Integration feasibility — low. Three blockers stack:

  1. Framework mismatch — Symfony DI/Console vs. Laravel container/Artisan. Non-trivial glue code, owned by us, forever.
  2. Maturity — 4 stars, 0 dependents, score 0.24. There is no downstream validation that this works in production anywhere. For a component that sits on the critical path of every background job, that is disqualifying on its own.
  3. Maintenance concentration — single maintainer, no visible release cadence or security process. Queue drivers are infrastructure: they fail in ways that lose money (double-charged webhooks, dropped order emails). Bus-factor 1 on that surface is a governance problem, not a preference.

Technical risk. Highest-risk unknowns are semantic, not syntactic: Does it long-poll (WaitTimeSeconds)? Does it delete-on-success only, and what happens on visibility-timeout expiry — does it rely on SQS redelivery or its own retry counter? Is there dead-letter-queue handling, or do poison messages cycle indefinitely? Does it support FIFO, or only standard queues? Are batch sizes and MaxNumberOfMessages tunable? None of these are answerable from the repo metadata we have, and each maps directly to a production incident class.

Key questions to send back to the maintainer / resolve in a spike:

  • Which Symfony and PHP version constraints are declared, and when was the last compatible release?
  • Does it implement Symfony Messenger transport contracts, or its own bespoke worker loop?
  • What are the retry, backoff, DLQ, and visibility-timeout semantics?
  • AWS SDK v2 or v3? IAM permission surface required (including sqs:ChangeMessageVisibility)?
  • Is there any test suite, and does it cover redelivery and failure paths?

Integration Approach

Stack fit: poor, but the underlying technology choice is sound. SQS as a queue engine is a reasonable AWS-native decision — managed, cheap at our volume, no broker to operate. The question is purely which client library sits between Laravel and SQS.

Recommended migration path — evaluate in this order:

Option Effort Risk Verdict
A. Laravel native SQS driver (QUEUE_CONNECTION=sqs + aws/aws-sdk-php) Days Low Default recommendation
B. Port select patterns from this bundle into a thin internal connector or a custom JobMiddleware 1–2 weeks Medium Only if A proves insufficient
C. Adopt the bundle via Symfony-in-Laravel glue Weeks High Reject
D. Migrate the service to Symfony Quarters Very high Out of scope

Compatibility notes. The bundle will not install cleanly into a Laravel composer.json without constraint conflicts; expect Symfony component version pins to collide with Laravel's own symfony/* transitive requirements (Laravel pins Console, HttpFoundation, Finder, etc.). Treat any attempt to force-install as a signal to stop, not a puzzle to solve.

Sequencing. Run a two-week time-boxed spike:

  1. Days 1–2: Stand up Laravel's native SQS driver against a real AWS queue in staging. Validate FIFO (if required), delayed dispatch, visibility timeout, and a forced-failure job to observe redelivery.
  2. Days 3–4: Read this bundle's worker loop and failure handling for anything the native driver lacks — specifically any batch-processing or DLQ automation pattern worth reimplementing.
  3. Day 5: Decision gate. If native driver meets requirements, close the evaluation and document the rejection rationale so we don't re-litigate in six months.

The most likely outcome of the spike is that we adopt Option A and take zero dependency on this package. That is a valid and valuable TPM outcome: we spent five days to avoid a multi-quarter maintenance liability.

Operational Impact

Maintenance. If adopted, we own the glue layer permanently. Every Laravel major upgrade (container, queue contracts, Job lifecycle) is a potential break, and upstream will not be tracking Laravel compatibility — the maintainer is solving for Symfony. Realistic steady-state: 1–2 engineer-days per quarter of unplanned maintenance, plus an on-call surface for a component with no upstream SLA.

Support. No vendor, no commercial backing, no security disclosure process. Internal escalation path terminates at whoever read the source most recently. Compare against the native driver, where Laravel's release notes, community, and ecosystem of debugging tooling (Horizon-adjacent observability, queue:failed tooling, Sentry integrations) all apply.

Scaling. SQS itself scales without concern. The bottleneck is the worker: concurrency, MaxNumberOfMessages batching, and autoscaling driven by ApproximateNumberOfMessagesVisible. The native driver plays well with our existing worker autoscaling runbook; a bespoke Symfony worker loop means a second, separate scaling model and a second set of dashboards.

Failure modes to instrument regardless of choice:

  • Visibility timeout < job runtime → duplicate execution. Mitigation: set timeout to 3–4× p99 job duration; enforce idempotency keys in handlers.
  • No DLQ configured → poison message loops forever, burning spend and masking the real error. Mitigation: maxReceiveCount + alarm on DLQ depth.
  • Retention / in-flight limits hitting at peak, silently dropping jobs.
  • Partial batch failure in batch mode — must delete only successful messages, else you either duplicate or lose work.

Ramp-up. Native driver: essentially zero, the team already knows it. This bundle: 3–5 engineer-days for a mid-level engineer to learn Symfony DI conventions and the bundle's configuration tree, on top of the glue work — cost paid before the first job runs.

Bottom line for the roadmap. Score 0.24 and 0 dependents are directionally correct here. The package is not a candidate for production adoption in a Laravel estate; its value is as a reference implementation for SQS worker semantics during a short spike. Recommend Option A, budget the two-week spike, and record the decision.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator