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
Purgatory Bundle

Purgatory Bundle Laravel Package

sofascore/purgatory-bundle

A Symfony bundle from Sofascore for purging Doctrine entities after a configurable retention period. Define purge rules, schedule cleanup, and automatically remove stale or expired records with minimal configuration and Symfony-native integration.

View on GitHub
Deep Wiki
Context7

A Symfony bundle for HTTP cache invalidation with support for various backends like Varnish.

Frequently asked questions about Purgatory Bundle
What is sofascore/purgatory-bundle used for?
It is a Symfony bundle that provides a dedicated purgatory transport for Symfony Messenger. Failed or deferred messages are routed there instead of being lost, so you can inspect, retry, or remove them while keeping the main queue clean. It is not a Laravel queue package.
Is sofascore/purgatory-bundle compatible with Laravel?
No, not as a drop-in dependency. The package is built as a Symfony bundle and relies on Symfony Messenger conventions, bundle registration, and Symfony-style configuration. Laravel's container, queue system, and package auto-discovery do not honor those conventions. Treat it as a pattern source or a port target if you want the same purgatory workflow in Laravel.
How do I install sofascore/purgatory-bundle?
Install it with Composer using composer require sofascore/purgatory-bundle. In a Symfony application you then register the bundle in bundles.php and configure the purgatory transport and routing rules. In Laravel there is no auto-discovered service provider, so installation alone will not wire it into your app.
How does the purgatory transport work with Symfony Messenger?
It adds a dedicated transport where Messenger sends messages that fail or are deliberately deferred. That keeps the primary transport from being clogged by poison messages while preserving the payload for inspection. You then use the bundle's tooling or Messenger commands to retry or discard those messages.
Can I retry or purge failed messages from the purgatory transport?
Yes. The stated purpose is to let you inspect and retry failed messages without manually requeueing them, and to purge or discard messages once they are resolved. The exact retry and purge commands or services depend on the bundle's configuration in your Symfony app. Before relying on them, verify retry and purge behavior in a non-production environment.
How do I configure retention and routing for different message types?
The bundle advertises configurable retention and routing for different message types. In Symfony that means defining the purgatory transport and mapping specific messages or classes to it through bundle configuration. Check the README and package config for the exact keys, and keep retention aligned with how long your team needs to inspect failures.
Does it work with Laravel queues or only Symfony Messenger?
It is designed around Symfony Messenger and a Symfony bundle lifecycle, not Laravel queues. Laravel developers would need to reimplement the same idea with failed_jobs, Horizon, or a custom queue transport. There is no indication of Laravel queue integration or Laravel auto-discovery in the package overview.
How should I test sofascore/purgatory-bundle before using it in production?
In Symfony, test it with a disposable transport and a handler that throws, then confirm the message lands in purgatory and can be retried and purged. If you are evaluating a Laravel port, test that port against the same failure cases rather than the original bundle. Pay attention to whether failures are logged and retried or silently swallowed, because that changes the blast radius.
Is sofascore/purgatory-bundle actively maintained?
The available evaluation notes an active 2.0.x patch release, MIT licensing, and a small single-sponsor project with about 119 stars and no SLA. That is a positive cadence signal but still a low-bus-factor project if you depend on it directly. For Laravel use, maintenance risk sits with your port rather than with the upstream Symfony bundle.
What alternatives exist for Laravel developers who need failed-message handling?
Laravel already provides failed job storage, queue:retry, queue:forget, and Horizon for inspecting and retrying failed jobs. If you want a purgatory-style holding area, a custom queue, a database-backed failed_jobs workflow, or a small Laravel port is more realistic than consuming this Symfony bundle. For Symfony teams, Messenger's own failure transport is the closest native alternative.
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.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections