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 Bundle Laravel Package

tritran/sqs-queue-bundle

Integrates Amazon SQS with Symfony applications, providing configurable queue connections plus producer and consumer services for reliable asynchronous message processing. Ideal for offloading background jobs and decoupling services through AWS SQS.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — poor. tritran/sqs-queue-bundle is a Symfony bundle, not a Laravel package. Its integration surface is Bundle + DependencyInjection\Extension + services.yaml, which is registered by the Symfony Kernel. Laravel has no equivalent lifecycle hook; a bundle cannot be auto-discovered, and its service definitions will never load. Adopting this in a Laravel codebase means writing a custom ServiceProvider that manually instantiates the bundle's queue/worker classes outside the Symfony container — effectively forking the package's wiring while inheriting none of its intended ergonomics.

Integration feasibility — low, and the value proposition is already redundant. Laravel ships a first-class SQS driver (Illuminate\Queue\SqsQueue) backed by aws/aws-sdk-php, with queue config, job serialization, retries/backoff, failed_jobs handling, Horizon-adjacent tooling, and documented DLQ patterns. The bundle's core function — push/pop messages against SQS from PHP — is table stakes already covered by the framework. Any migration would be net-negative: we'd trade a maintained, framework-blessed driver for a shim around a third-party bundle.

Technical risk — high, concentrated in abandonment.

  • Last release 2020-02-19 (~5+ years). No commits, no PHP 8.x support evidence, no security disclosure process.
  • PHP/Symfony constraints likely target Symfony 3.x/4.x and PHP 7.x; Laravel 9/10/11 require PHP 8.0+, so composer install will most likely fail on version conflicts before we ever reach runtime.
  • 0 dependents signals zero production validation — no downstream ecosystem to surface bugs or patches.
  • Single-maintainer project, no evidence of a funded successor or fork community.
  • The 2.56 composite score (opportunity 19.25) is consistent with our read: a thin wrapper in a category the framework already owns.

Key questions to resolve before any further spend.

  1. Does the bundle expose behavior Laravel's SQS driver lacks — FIFO MessageGroupId/MessageDeduplicationId handling, per-message delay queues, batch send/receive, or custom visibility management? (If no → close the evaluation.)
  2. Is there an internal Symfony workload being ported to Laravel where preserving exact message envelope semantics matters?
  3. Are we willing to own a permanent internal fork, and who signs up for that on-call surface?
  4. What is the license, and does it permit the fork/vendoring we'd need?
  5. If we vendor it, can we get it onto PHP 8.2+ and current aws/aws-sdk-php in under a sprint?

Integration Approach

Stack fit — no. Symfony bundle contract vs. Laravel service-provider contract is a hard structural mismatch, not a configuration gap. Even a successful shim yields a package whose DI, config loading, and console commands are all written against a container we don't have.

Recommended path: do not integrate. Use the native Laravel SQS driver.

  • Set QUEUE_CONNECTION=sqs, configure config/queue.php with driver => 'sqs', key/secret/region/prefix, and rely on aws/aws-sdk-php (already a transitive dependency in most Laravel deploys).
  • Implement FIFO, delay, and batch semantics directly against the AWS SDK inside a small job-dispatch wrapper if the native driver is insufficient — this is tens of lines, not a dependency.
  • Configure DLQ + redrive policy at the Terraform/CloudFormation layer, where it belongs, not in application code.

If a Symfony source system is being migrated (the only scenario where the bundle's semantics matter):

  1. Inventory the bundle's message envelope: attribute names, serialization format, visibility/timeout defaults, retry behavior. Document it as a contract.
  2. Map that envelope onto Laravel's job payload (uuid, displayName, attempts, data), or keep the raw envelope and hydrate manually inside a Job class if byte-compatibility is required.
  3. Dual-run with a queue drain: stop Symfony producers, drain in-flight messages, cut over consumers, then decommission. Do not run both consumer implementations against one queue — duplicate-delivery and visibility-timeout interactions will bite.
  4. Version-gate by pinning the legacy Symfony app's PHP/Symfony versions for the migration window only; do not carry the constraint into the Laravel app.

Compatibility checklist before any code is written. composer why-not php 8.2, composer why-not symfony/dependency-injection ^6, composer why-not aws/aws-sdk-php ^3.2xx. If any of these fail hard, the shim estimate roughly doubles.

Sequencing. (1) Spike — 2–3 days to answer the five questions above and attempt a composer resolve. (2) Decision gate: adopt-fork vs. native driver. (3) If native, implementation is ~1 sprint including DLQ/observability. (4) If fork, budget 2–3 sprints plus a named long-term owner, and expect that cost to recur every PHP minor upgrade.

Operational Impact

Maintenance — the dominant cost. Abandoned upstream means every future PHP or aws-sdk-php bump is our problem. Historical baseline for resurrecting a 2020-era Symfony bundle onto PHP 8.2 + Symfony 6 components is 2–3 engineer-sprints of mostly unglamorous archaeology, plus an ongoing ~10–15% of one engineer per quarter to track SDK changes. That is a permanent tax on a component Laravel gives us free.

Support — effectively zero. No upstream maintainer response path, no security advisory channel, no docs beyond a README, no community to escalate to. Internal Slack becomes the only support tier, and there's no one to escalate to at tier 2. 27 stars and 0 dependents means we cannot even infer production behavior from others' scars.

Scaling — SQS scales; the wrapper is not the constraint. The bundle is a thin polling layer, so per-message overhead is negligible relative to network and AWS API limits. Real ceilings live in the AWS account: SQS throughput quotas, ReceiveMessage batch size (max 10), long-polling configuration, and Lambda/worker concurrency. The genuine scaling risk is misconfiguration inherited from 2020-era defaults — e.g., short polling driving empty receives and cost, or visibility timeouts set below actual job duration.

Failure modes to plan for.

  • Message loss / duplicate processing from visibility timeout shorter than job runtime — the classic SQS failure, and the bundle offers no guardrail.
  • Poison messages with no DLQ wiring in the bundle; needs to be configured entirely at the AWS layer.
  • Hard fatal on PHP 8 if we force-install — deprecation-to-error promotions in the 7.x→8.x transition are likely in unmaintained code, and they'll surface in the worker loop rather than at boot, making them expensive to catch.
  • Composer drift — an unmaintained transitive dependency blocks a framework upgrade at the worst possible time, converting a routine Laravel minor bump into a cross-team project.
  • Silent envelope incompatibility during any Symfony→Laravel migration, producing jobs that deserialize into the wrong shape and fail without a clear error.

Ramp-up. Low learning curve for the code itself (small surface area), high for the surrounding archaeology. No internal expertise exists and none will accrue, because the package is a dead end — any engineer time spent learning it is sunk. Engineer morale cost of assigning someone to maintain a 2020 Symfony bundle inside a Laravel app is real and worth naming.

Bottom line. Do not adopt. The package is redundant against Laravel's native SQS support, structurally incompatible with the framework's integration model, and abandoned for over five years with no ecosystem validation. The only defensible use is as a read-only reference for message-envelope semantics during a Symfony→Laravel migration — and even then, copy the contract, not the dependency. Recommend closing the evaluation and spending the spike budget on DLQ and observability for the native driver instead.

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.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
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