Skip to content

kpumuk/lazykiq

Repository files navigation

lazykiq

lazykiq logo

A rich terminal UI for Sidekiq.

Latest Release OpenSSF Scorecard Build Status GitHub License

  • View Sidekiq processes and currently running jobs
  • Explore Sidekiq queues and jobs
  • Inspect job arguments and error backtraces
  • View Sidekiq retries, scheduled, and dead jobs
  • Analyze errors in dead and retry queues
  • Check job execution metrics
  • ... more to come!

lazykiq demo

Usage

Tip

Latest installation instructions for different platforms are available on the Lazykiq website.

Note

Lazykiq uses Unicode box-drawing and chart glyphs in the UI; a modern UTF-8 terminal font is recommended.

You can download the latest release from the Releases page for your platform.

Alternatively, install the current development version with go install:

go install github.com/kpumuk/lazykiq/cmd/lazykiq@latest

Keys

  • 1-8 - switch views
  • j / k - navigate down / up (or Down / Up)
  • h / l - navigate left / right (or Left / Right)
  • Enter - view job details, Esc to close
  • [ / ] - previous / next page
  • { / } - switch interval on the dashboard or metrics
  • / - filter job list (case-sensitive)
  • q - quit

Redis

Connect to a specific Redis instance with:

lazykiq --redis redis://localhost:6379/0

Development

We use mise for development. Install tooling with:

mise install

Run all CI tasks with:

mise run ci

Build the app locally with:

mise run build

Build a smaller release binary with:

mise run build-release

Release Process

Releases are published from signed v* tags through the GitHub Actions release workflow.

  • Only release tags matching v* should be used to trigger a release.
  • Release artifacts are built by GoReleaser, include SBOMs, and ship with signed checksums plus GitHub artifact attestations.
  • The maintainer is responsible for creating release tags and for reviewing release-environment secrets and publishing configuration before a release.

To update all dependencies:

mise run deps

Git hooks

Lefthook can be used to setup Git hooks:

lefthook install

This will ensure we do not push any dependencies with known vulnerabilities, and the code quality matches our standards.

Test environment

There is a test environment prepared in the demo/ directory. Simply start it with:

mise run demo
mise run demo-sidekiq73
mise run demo-sidekiq80
mise run demo-sidekiq81

This will:

  • Start a Redis server
  • Start one Sidekiq demo stack for the selected version, with demo jobs and the Web interface
Command Sidekiq Redis URL Web Dashboard
mise run demo 8.1.0 redis://localhost:6379/0 http://localhost:9292
mise run demo-sidekiq73 7.3.x redis://localhost:6379/2 http://localhost:9294
mise run demo-sidekiq80 8.0.0 redis://localhost:6379/1 http://localhost:9293
mise run demo-sidekiq81 8.1.0 redis://localhost:6379/0 http://localhost:9292

The version-specific tasks can run in parallel because each demo stand uses its own Redis database and dashboard port.

You can connect to a specific Sidekiq version using:

go run ./cmd/lazykiq --redis redis://localhost:6379/1

Website

The documentation website is built with Hugo. To run it locally:

mise run website-dev

Feedback

I’d love to hear your thoughts on this project. Feel free to drop a note!

License

MIT.

About

rich terminal UI for Sidekiq

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Contributors

Languages