{"id":18103901,"url":"https://github.com/dannnylo/sidekiq-belt","last_synced_at":"2025-07-11T00:37:57.568Z","repository":{"id":199764002,"uuid":"700108781","full_name":"dannnylo/sidekiq-belt","owner":"dannnylo","description":"This Ruby gem enhances the capabilities of Sidekiq, Sidekiq Pro, and Sidekiq Enterprise by adding essential utilities.","archived":false,"fork":false,"pushed_at":"2025-06-02T01:32:44.000Z","size":97,"stargazers_count":19,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-09T09:19:47.112Z","etag":null,"topics":["hacktoberfest","sidekiq"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dannnylo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"dannnylo"}},"created_at":"2023-10-04T00:49:01.000Z","updated_at":"2025-06-23T02:02:26.000Z","dependencies_parsed_at":"2023-10-12T07:43:16.934Z","dependency_job_id":"520943a6-bdca-4d53-bb62-85a682dc2e2f","html_url":"https://github.com/dannnylo/sidekiq-belt","commit_stats":null,"previous_names":["dannnylo/sidekiq-belt"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/dannnylo/sidekiq-belt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dannnylo%2Fsidekiq-belt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dannnylo%2Fsidekiq-belt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dannnylo%2Fsidekiq-belt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dannnylo%2Fsidekiq-belt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dannnylo","download_url":"https://codeload.github.com/dannnylo/sidekiq-belt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dannnylo%2Fsidekiq-belt/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264697567,"owners_count":23650955,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","sidekiq"],"created_at":"2024-10-31T22:13:29.523Z","updated_at":"2025-07-11T00:37:57.547Z","avatar_url":"https://github.com/dannnylo.png","language":"Ruby","funding_links":["https://github.com/sponsors/dannnylo"],"categories":[],"sub_categories":[],"readme":"# Sidekiq::Belt\n\n\n\u003ca href='http://badge.fury.io/rb/sidekiq-belt'\u003e\n    \u003cimg src=\"https://badge.fury.io/rb/sidekiq-belt.png\" alt=\"Gem Version\" /\u003e\n\u003c/a\u003e\n\u003ca href='https://github.com/dannnylo/sidekiq-belt/workflows/CI/badge.svg'\u003e\n  \u003cimg src=\"https://github.com/dannnylo/sidekiq-belt/workflows/CI/badge.svg\" alt=\"Build Status\" /\u003e\n\u003c/a\u003e\n\nThis Ruby gem enhances the capabilities of Sidekiq, Sidekiq Pro, and Sidekiq Enterprise by adding essential utilities.\n\n## Installation\n\nInstall the gem and add to the application's Gemfile by executing:\n\n    $ bundle add sidekiq-belt\n\nIf bundler is not being used to manage dependencies, install the gem by executing:\n\n    $ gem install sidekiq-belt\n\n## Features\n\nTo enable all features, add the following code to the end of the Sidekiq initializer file:\n\n```ruby\nSidekiq::Belt.use!\n```\n\nor\n\n```ruby\nSidekiq::Belt.use!([:all])\n```\n\nTo enable only specific features, add the following code to the Sidekiq initializer file while passing the necessary options:\n\n```ruby\nSidekiq::Belt.use!([:periodic_run, :periodic_pause])\n```\n\n### Run Periodic Jobs Manually (sidekiq-enterprise)\n\nThis functionality adds a button on the Sidekiq Enterprise web page that allows manual execution of a job.\nTo enable this feature, pass the `periodic_run` option:\n\n```ruby\nSidekiq::Belt.use!([:periodic_run])\n```\n\n![periodic_run_index](https://github.com/dannnylo/sidekiq-belt/assets/20794/0cc900bc-6925-4139-affd-f41b81318727)\n![periodic_run_show](https://github.com/dannnylo/sidekiq-belt/assets/20794/086be190-af8e-44d9-bbf6-eed94b7314a0)\n\n\n### Pause Periodic Jobs (sidekiq-enterprise)\n\nThis option adds a button to pause and unpause the cron of a periodic job.\nWhen a periodic job is paused, the perform is skiped and on server this content is logged.\n\n```\n2023-10-12T19:24:00.001Z pid=127183 tid=2ian INFO: Job SomeHourlyWorkerClass is paused by Periodic Pause\n```\n\nTo enable this feature, pass the `periodic_pause` option:\n\n```ruby\nSidekiq::Belt.use!([:periodic_pause])\n```\n![periodic_pause](https://github.com/dannnylo/sidekiq-belt/assets/20794/41fbcee4-9c5b-45cd-b6f7-c359a22f3979)\n![periodic_unpause](https://github.com/dannnylo/sidekiq-belt/assets/20794/ea06ae37-068e-4f66-ab10-d83970545a59)\n\n### Delete an Unfinished Batch (sidekiq-pro)\n\nThis option adds a button to remove failed batches.\n\nTo enable this feature, pass the `failed_batch_remove` option:\n```ruby\nSidekiq::Belt.use!([:failed_batch_remove])\n```\n![failed_batch_remove](https://github.com/dannnylo/sidekiq-belt/assets/20794/e285a8b2-4626-48e1-b04a-5190ae51d43b)\n\n### Create a list of jobs to run (sidekiq)\nThis feature is a manual job manager where you can list jobs. These jobs are grouped and organized in a `Run Jobs` tab.\nYou can easily and quickly select which job you want to run manually.\n\nTo enable this feature, pass the `run_job` option:\n```ruby\nSidekiq::Belt.use!([:run_job])\n```\n\n![List jobs to run](https://github.com/dannnylo/sidekiq-belt/assets/20794/ed32dac7-46e2-4c44-b3de-69983c3b990c)\n\nTo configure the list of jobs\n\n```ruby\nSidekiq::Belt.configure do |config|\n  config.run_jobs = [\n    { class: \"ManualClearDataWorker\", args: ['a'] },\n    { class: \"ManualDoSomethingWorker\", args: ['b'] },\n    { class: \"FirstOperationalWorker\", args: ['c'], group: 'Operational' },\n    { class: \"SecondOperationalWorker\", args: ['d'], group: 'Operational' },\n    { class: \"AnotherGroupWorker\", args: ['e'], group: 'Group with a long name' }\n  ]\nend\n```\nOr\n\n```ruby\nSidekiq::Belt.configure do |config|\n  config.run_jobs.push({ class: \"AWorker\", args: [\"a\"] })\n  config.run_jobs.push({ class: \"BWorker\" })\n\n  config.run_jobs \u003c\u003c { class: \"CWorker\", args: [\"a\"], group: \"Etc\" }\n  config.run_jobs \u003c\u003c { class: \"DWorker\", args: [\"a\"], group: \"Etc\" }\n\n  config.run_jobs \u003c\u003c { class: \"EWorker\", args: [\n      { dynamic: 'text', title: 'Observation' },\n      { dynamic: 'integer', title: 'Number of test' },\n      'fixed value A',\n      { dynamic: 'boolean', title: 'Boolean data' },\n      { dynamic: 'enum', title: 'Enum data', options: ['option1', 'option2', 'option3'], default: 'option2' },\n      'fixed value B'\n    ], group: \"Etc\" }\n  config.run_jobs \u003c\u003c { class: \"FWorker\", args: [\"a\"], group: \"Etc\" }\nend\n```\n\n### Add to your web sidekiq a top label by environment (sidekiq)\n\nThis feature adds a little line on top of Sidekiq web that shows a configurable message.\n\n![Top Page Development](https://github.com/dannnylo/sidekiq-belt/assets/20794/b1e2f6c2-a257-4172-92ec-09c61511334b)\n![Top Page Production](https://github.com/dannnylo/sidekiq-belt/assets/20794/8e64d0e8-dcb2-42ee-b184-67d2f0b2cf6f)\n\nTo enable this feature, pass the `top_label` option:\n```ruby\nSidekiq::Belt.use!([:top_label])\n```\n\n```ruby\nSidekiq::Belt.configure do |config|\n  config.top_label = {\n    production: {\n      background_color: 'red',\n      text: 'Be careful',\n      color: 'white'\n    },\n    development: {\n      background_color: 'green',\n      text: 'You are safe!',\n      color: 'white'\n    }\n  }\nend\n```\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/dannnylo/sidekiq-belt. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/dannnylo/sidekiq-belt/blob/main/CODE_OF_CONDUCT.md).\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n\n## Code of Conduct\n\nEveryone interacting in the Sidekiq::Belt project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/dannnylo/sidekiq-belt/blob/main/CODE_OF_CONDUCT.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdannnylo%2Fsidekiq-belt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdannnylo%2Fsidekiq-belt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdannnylo%2Fsidekiq-belt/lists"}