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

Worker Message Failed Event Bundle Laravel Package

smartassert/worker-message-failed-event-bundle

Symfony bundle that dispatches a worker message failed event, letting applications react to failed worker messages with logging, retries, alerts, or custom failure handling.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. Despite the brief's framing as a Laravel package, the artifact is a Symfony bundle (the ...Bundle suffix and the WorkerMessageFailedEvent name are decisive). It hooks Symfony Messenger's WorkerMessageFailedEvent, which fires when a message exhausts or fails during handling. That makes it a natural fit only inside a Symfony/symfony/messenger runtime — it is not a Laravel queue plugin, and Laravel's queue failure path (Illuminate\Queue\Events\JobFailed) is a different event model. If the target stack is genuinely Laravel, treat this as a component to study or fork, not to install.

Integration feasibility. Low-to-moderate. It's a Composer package registered in config/bundles.php with bundle configuration; the real dependency is Symfony Messenger being present and the failure events actually firing. The unknown is the downstream contract — the name implies it reports/annotates failures somewhere (likely a SmartAssert service), so there is probably an endpoint, credential, and payload schema that must be satisfied. That contract, not the PHP code, is the integration risk.

Technical risk. Materially elevated by adoption signals: 0 stars, 0 dependents, score ~2.47, opportunity ~23.85, and a single vendor org. That is a bus-factor-of-one posture with essentially no community validation. MIT licensing is favorable (fork-and-vendor is viable), and the surface area is small enough to audit. The 2025-12-01 release date should be verified — if it is future-dated or a pre-release, assume no production track record.

Key questions.

  • What does it do on failure — log, HTTP report to a SmartAssert backend, annotate, retry? Is an external service mandatory?
  • Which Symfony Messenger / PHP versions are supported, and is retry-vs-terminal failure distinguished?
  • Is reporting synchronous on the worker thread (latency/blocking risk)?
  • Does it fail open (drop the signal) or closed (stall the worker) when its sink is unreachable?
  • What PII/exception payloads leave the process, and to where?
  • Is there any maintainer commitment beyond this vendor's internal use?

Integration Approach

Stack fit. Two clean paths. Symfony: install, enable the bundle, point config at the sink, done — this is the intended use. Laravel: do not install; instead port the behavior onto JobFailed (or adopt Messenger alongside the queue, which is a much larger commitment). Choosing the wrong path here is the single biggest cost driver.

Migration path. Introduce behind a feature flag with the existing failure alerting left intact. Run the package in parallel with current monitoring so the two signals can be diffed before cutover. Keep the bundle config environment-scoped so it can be disabled per environment without a redeploy.

Compatibility. Pin symfony/messenger and PHP minor versions; run composer why-not against the current platform before committing. Verify against the project's Symfony LTS rather than latest. Confirm the bundle's services.yaml/config schema doesn't collide with existing DI extensions.

Sequencing.

  1. Non-prod spike: confirm events fire and payloads look right.
  2. Contract validation: match emitted payload against the sink's expected schema.
  3. Shadow mode in staging against current alerting; compare coverage and false-positive rates.
  4. Enable per-queue/per-transport, smallest blast radius first.
  5. Document rollback (config disable + composer remove) before broad enablement.

Operational Impact

Maintenance. Treat as vendor-owned, low-signal code: assume you may need to fork it (MIT permits this) and that it will not track Symfony major releases on your timeline. Assign an internal owner and a review cadence; don't let "it works" become "nobody knows how it works."

Support. Effectively self-support. No community, no dependents, no ecosystem answers. If a failure event stops firing after a Symfony upgrade, there is no upstream support channel — budget engineering time, not vendor time.

Scaling. Volume scales with failure rate, not throughput, so steady-state load is low. The scaling concern is burst behavior: a transport outage or retry storm can generate a large spike of failure events, and if reporting is synchronous the workers themselves slow down — amplifying the incident. Confirm async dispatch or a bounded buffer.

Failure modes. The critical one is sink unavailability: fail-open silently loses the observability signal precisely when you need it; fail-closed turns a reporting outage into a processing outage. Secondary modes: duplicate reports on retry, payload schema drift after a backend change, and PII leakage in exception traces. All three need explicit answers before production.

Ramp-up. Small codebase, but requires genuine Symfony Messenger fluency (middleware, transports, retry strategy, event dispatch order) to operate confidently. Estimate a half-day for a Symfony-fluent engineer to spike and a day to harden; add significant time if the team is Laravel-only, because the conceptual gap is the framework, not the package.

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.
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
equipc/laravel-email-database-log
adedsec/nova-translated-labels