# Sidekiq::Undertaker [![Gem Version](https://badge.fury.io/rb/sidekiq-undertaker.svg)](https://badge.fury.io/rb/sidekiq-undertaker) [![Ruby-Build](https://github.com/ThomasKoppensteiner/sidekiq-undertaker/actions/workflows/ruby-build.yml/badge.svg)](https://github.com/ThomasKoppensteiner/sidekiq-undertaker/actions/workflows/ruby-build.yml) [![Code Climate](https://codeclimate.com/github/ThomasKoppensteiner/sidekiq-undertaker.svg)](https://codeclimate.com/github/ThomasKoppensteiner/sidekiq-undertaker) [![Test Coverage](https://api.codeclimate.com/v1/badges/d442eb0a323d8911661f/test_coverage)](https://codeclimate.com/github/ThomasKoppensteiner/sidekiq-undertaker/test_coverage) [![Ruby Style Guide](https://img.shields.io/badge/code_style-rubocop-brightgreen.svg)](https://github.com/rubocop-hq/rubocop) ## About Sidekiq::Undertaker is a plugin for [Sidekiq](https://rubygems.org/gems/sidekiq). It allows exploring, reviving (retrying) or burying (deleting) dead jobs. For easy exploring the dead-jobs queue is broken down into time windows (buckets) of hours, days and weeks. ## Installation #### Install the Gem Add this line to your application's Gemfile: ````ruby gem "sidekiq-undertaker" ```` And then execute: ````sh $ bundle ```` Or install it yourself as: ````sh $ gem install sidekiq-undertaker ```` #### Development: Install the Rubocop Pre-Commit Hook ````sh $ rake rubocop:install ```` ## Impressions #### Filter View The filter page shows a table with time-buckets as columns and rows for each job class. ![Sidekiq Undertaker](assets/Undertaker_demo_all_jobs.png) #### Job Filter View For each job class, you can drill down to view error distribution based on error class. ![Sidekiq Undertaker](assets/Undertaker_demo_1_job_all_errors.png) #### Morgue View Finally, click on the individual error counts to display details of the errors in a list form. ![Sidekiq Undertaker](assets/Undertaker_demo_1_job_1_error.png) The morgue view can, for example, also show an error distribution over all job classes. ![Sidekiq Undertaker](assets/Undertaker_demo_all_jobs_1_error.png) ## Contributing 1. Fork it ( https://github.com/ThomasKoppensteiner/sidekiq-undertaker/fork ) 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create new Pull Request ## Naming As another gem with the name `sidekiq-cleaner` is already released on rubygems.org, this fork was renamed to `sidekiq-undertaker`. ## Thanks The [Sidekiq-Cleaner](https://github.com/HackingHabits/sidekiq-cleaner) gem was originally created by [Madan Thangavelu](https://github.com/HackingHabits). [Tout](https://github.com/Tout/sidekiq-cleaner) and [TheWudu](https://github.com/TheWudu/sidekiq-cleaner) also contributed to it. [Zlatko Rednjak](https://github.com/Rednjak) added the initial version of the `CHANGELOG.md`. [Lucas Dell'Isola](https://github.com/ldellisola) added the export/import feature for dead jobs. [thoesl](https://github.com/thoesl) added the error message based filter. [Simon Himmelreich](https://github.com/shimel1) prepared the upgrade to Sidekiq 8. For the complete list of network members have a look at the [fork overview](https://github.com/ThomasKoppensteiner/sidekiq-undertaker/network/members). ## Alternative Projects * [sidekiq-cleaner](https://rubygems.org/gems/sidekiq-cleaner) * [sidekiq_cleaner](https://rubygems.org/gems/sidekiq_cleaner) ## Author Thomas Koppensteiner | [Github](https://github.com/ThomasKoppensteiner) | [RubyGems](https://rubygems.org/profiles/thomaskoppensteiner) | [@koppensteiner_t](https://twitter.com/koppensteiner_t) ## License See the [License](https://github.com/ThomasKoppensteiner/sidekiq-under/blob/master/LICENSE.txt) file.