Add Redis observability metadata for a simple UI (dead set + counters) - #3
Open
darkamenosa wants to merge 2 commits into
Open
Add Redis observability metadata for a simple UI (dead set + counters)#3darkamenosa wants to merge 2 commits into
darkamenosa wants to merge 2 commits into
Conversation
- Add `<prefix>:dead` ZSET for compact failure records (trim by size and optional age). - Increment `<prefix>:stat:processed` / `<prefix>:stat:failed` counters. - Server opts: `stats`, `dead_enabled`, `dead_max`, `dead_timeout`, `failure_backtrace_limit`. - Update docs with keys, examples, and configuration. - Add tests covering failure recording, trimming, and counters.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi Samuel,
So my goal is simple, I'm trying to build a UI similar Sidekiq or Mission Control Jobs (Solid Queue) for
async-job-adapter-active_job-serverusing Redis. When using UI, it is just simpler and faster to trace error on production or even development environment.I read this codebase, and I found that metadata stored on Redis is not enough, so I learn from Sidekiq. Not sure, it is intended or not. I just try to make a pull request to see if I can help.
Summary
This PR adds optional, bounded metadata in Redis so we can build a lightweight UI similar to Sidekiq’s “Dead” jobs and basic stats — without adding a
database. The goal is only to store enough info in Redis to power a small dashboard (recent failures + processed/failed counters), leaving the actual UI
for a follow-up.
What’s included
as before.
Dead entry format (compact JSON)
Example Redis queries (for a simple UI)
Why
and easy to query.
Compatibility
Limitations / follow-ups
How to test locally
Checklist
Happy to tweak names, defaults, or JSON shape if you have preferences.