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

Humus Amqp Laravel Package

prolic/humus-amqp

HumusAmqp is an asynchronous AMQP 0-9-1 client for PHP built on ReactPHP. It provides producers, consumers, and a fluent API for RabbitMQ messaging, enabling non-blocking publishing and consuming without blocking your event loop.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for messaging infrastructure. HumusAmqp is a mature-pattern abstraction over php-amqplib offering producers, consumers, message handlers, RPC-over-AMQP, delayed messages, batch consumers, and automatic exchange/queue topology declaration. The decision it informs: spend 4–8 engineering weeks building this scaffolding in-house, versus adopting (or forking) an existing implementation.

  • Feature feasibility on the roadmap. If the roadmap includes reliable webhook delivery with retries, order/fulfillment pipelines, event fan-out between services, scheduled or delayed jobs, or synchronous RPC calls over an async transport, this library makes those patterns a configuration exercise rather than a research project.

  • Queue technology choice. Informs RabbitMQ vs. Redis/SQS. If the product needs routing topologies, dead-letter handling, priorities, or delayed delivery semantics, AMQP is the stronger fit — and this package is one of the few PHP abstractions that exposes those features without hand-rolling them.

  • Maintenance ownership decision. With PHP 7.4 constraints, a September 2023 last release, 76 stars, and zero dependents, adoption is effectively a fork decision. That is a resourcing question for the platform team, not a package-selection question.

  • Reference architecture for internal standards. Even if not adopted directly, it is a strong design reference for how a producer/consumer layer should be shaped — useful input to an internal messaging guideline.

When to Consider This Package

Consider it when:

  • The team is on PHP 7.4 (or accepts a fork/backport to PHP 8.x as part of the work) and needs RabbitMQ patterns beyond basic publish/subscribe.
  • The product specifically needs capabilities that common PHP queue tooling does not give you out of the box: RPC over AMQP, delayed messages, batch consumers, or automated topology setup.
  • Engineering is prepared to vendor or fork the codebase and own patching — treating it as internal code with an MIT license, not as a live upstream dependency.
  • You are prototyping or building an internal service where operational maturity matters more than community size.

Look elsewhere when:

  • The stack is PHP 8.1+ and you want an unmodified upstream package — there is no maintained compatibility path here.
  • You need vendor support, security patch guarantees, or an active community for hiring and troubleshooting. Zero dependents and 76 stars signal single-maintainer, low-adoption risk; expect to be the only person debugging your problem.
  • The team lacks RabbitMQ operational experience. The abstraction makes topology easier to write but not easier to operate; broker outages, queue backlogs, and dead-letter triage still require dedicated knowledge.
  • The need is a simple background job queue. Laravel's queue with Redis/Horizon or Symfony Messenger's AMQP transport is cheaper, better supported, and sufficient — do not reach for RPC/delayed-message machinery you will not use.
  • A supply-chain or dependency audit will block an EOL PHP constraint or unmaintained package regardless of technical merit.

How to Pitch It (Stakeholders)

For executives: This is a free, MIT-licensed PHP library that provides production-grade RabbitMQ messaging patterns — the plumbing behind reliable background jobs, retries, scheduled work, and service-to-service calls. Adopting it could save roughly one to two engineer-months of scaffolding. The caveat is material: it targets PHP 7.4, which is end-of-life, has had no release since September 2023, and has zero downstream dependents. Recommendation: fund a short, time-boxed evaluation spike (1–2 sprints) rather than a commitment. The likely outcome is either "vendor a fork and own it" or "harvest the patterns and build a thin internal layer on maintained libraries."

For engineering: It is a well-structured, event-driven layer on top of php-amqplib with producers, consumers, handlers, RPC, delayed messages, batch consumption, and automatic topology declaration. The value is real and the code is readable. The cost is equally real: you inherit a fork, you own PHP 8.x compatibility, and you own security patches. Plan for a dependency audit exception and a named owner before adoption.

The recommendation: Treat HumusAmqp as a design reference and a fork candidate, not a drop-in dependency. Use the spike to answer three questions — does it run on our PHP target, does it cover the two or three patterns we actually need, and what is the true cost of owning it for 24 months? If the answers hold, vendor it. If not, the spike still produces an internal messaging design at a fraction of the cost of discovering the gaps in production.

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.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource