cleverage/cache-process-bundle
CleverAge/CacheProcessBundle integrates Symfony Cache with the CleverAge ProcessBundle, enabling caching within process workflows. Part of the CleverAge/ProcessBundle project, it supports Symfony stable and LTS releases for efficient process execution.
on_miss (output_null / skip / fail) and expires_after on the cache tasks. This means cache freshness and cache-miss behavior become configuration decisions we can tune per workflow — directly affecting cost (reprocessing vs. stale data) and reliability (graceful degradation vs. hard failure) without engineering sprints.key is now validated by GetTask/SetTask and an invalid key always throws. We do not need to budget a custom key-guard (or a hardening spike) before shipping customer-facing pipelines. Budget that time toward pipeline coverage instead.adapter, key and value are no longer required at configuration level — no placeholders — only once merged with input. Tenant- or environment-specific workflow definitions stop being engineering tickets.exec()/shell_exec() calls with structured process handling (e.g., PDF generation, API polling) — now with explicit TTLs so cached outputs can't silently go stale.docker, composer, git) with error handling, timeouts, and logging; route failures to error outputs via on_miss: skip.expires_after) or defined cache-miss behavior (on_miss).exec() calls).assert() is enabled, so validate defensively at that layer.on_miss defaults to output_null. Teams must consciously set skip or fail on revenue-affecting tasks — adopt this package with a review step for cache-miss policy, not by default.For Executives: "This package lets us offload heavy or external tasks (e.g., file conversions, API polling) to managed processes—reducing server load and improving reliability. The v2.2 release adds two things that matter commercially: cache expiry, so we stop paying to store and serve stale results, and configurable cache-miss handling, so a cache miss degrades gracefully instead of failing a customer-facing job. It also bakes in cache-key validation, which removes a hardening item from our backlog rather than adding one. Combined with the existing PHP 8.5/Symfony 8 alignment, this is a low-risk upgrade that continues to reduce technical debt from custom scripts. It could cut our PDF generation queue failures by 30% by adding timeouts, retries, and explicit miss policies."
For Engineering: *"The CacheProcessBundle wraps Symfony’s ProcessComponent with caching and Laravel integration, giving us:
exec() hacks).on_miss: output_null default, skip to route input to error outputs, fail to hard-stop) — v2.2.expires_after on SetTask) — v2.2, removes the need for ad-hoc invalidation jobs.adapter, key, and value are no longer required in configuration, only after merging with input (AbstractCacheTask::getRequiredOptions()) — simplifies reusable/parameterised pipeline definitions.assert()-only gap we previously had to guard ourselves.\UnexpectedValueException (not a raw TypeError), input-supplied option values are validated through the options resolver, and duplicate adapter codes report both service IDs.Tradeoff: Dropped PHP 8.1/Symfony 7.3 support—if you’re stuck on those, we’ll need a migration plan. The one remaining subtlety is the on_miss default: output_null degrades silently, so set skip or fail explicitly on anything customer-facing. Otherwise, v2.2 is a drop-in, low-risk, high-reward upgrade from ad-hoc process management — and it retires a security-hardening task rather than creating one."*
How can I help you explore Laravel packages today?