All Projects → hummingbird-me → sidekiq-debounce

hummingbird-me / sidekiq-debounce

Licence: MIT license
Debouncing for Sidekiq tasks

Programming Languages

ruby
36898 projects - #4 most used programming language
Roff
2310 projects

Labels

Projects that are alternatives of or similar to sidekiq-debounce

Sidekiq Prometheus Exporter
All the basic metrics of Sidekiq with pluggable contribs prepared for Prometheus
Stars: ✭ 129 (+460.87%)
Mutual labels:  sidekiq
taskinator
A simple orchestration library for running complex processes or workflows in Ruby
Stars: ✭ 25 (+8.7%)
Mutual labels:  sidekiq
Lumpik
[experimental] Lumpik is a job queue system for general purpose.
Stars: ✭ 21 (-8.7%)
Mutual labels:  sidekiq
Activejob Retry
Automatic retries for ActiveJob
Stars: ✭ 138 (+500%)
Mutual labels:  sidekiq
Sidekiq monitor
Advanced monitoring for Sidekiq
Stars: ✭ 220 (+856.52%)
Mutual labels:  sidekiq
jobqueue
Jobqueue manages running and scheduling jobs (think Sidekiq or Resque for Go).
Stars: ✭ 37 (+60.87%)
Mutual labels:  sidekiq
Sidekiq Cron
Scheduler / Cron for Sidekiq jobs
Stars: ✭ 1,383 (+5913.04%)
Mutual labels:  sidekiq
request store-sidekiq
Provides an easy integration between RequestStore and Sidekiq
Stars: ✭ 32 (+39.13%)
Mutual labels:  sidekiq
Sidekiq Batch
Sidekiq Batch Jobs Implementation
Stars: ✭ 233 (+913.04%)
Mutual labels:  sidekiq
KittyEvents
Super simple event system on top of ActiveJob
Stars: ✭ 20 (-13.04%)
Mutual labels:  sidekiq
Sidekiq status
Extension to Sidekiq to pass job execution metadata such as status and result back to the client
Stars: ✭ 155 (+573.91%)
Mutual labels:  sidekiq
Ansible Rails
Ruby on Rails deployment using Ansible - with Lets Encrypt, Sidekiq, PostgreSQL, nginx & puma
Stars: ✭ 199 (+765.22%)
Mutual labels:  sidekiq
sidekiq log analyzer
SidekiqLogAnalyser gem allows to see summary of your sidekiq workers (based on log file).
Stars: ✭ 13 (-43.48%)
Mutual labels:  sidekiq
Sidekiq
Simple, efficient background processing for Ruby
Stars: ✭ 11,450 (+49682.61%)
Mutual labels:  sidekiq
sidekiq queue metrics
Records stats of each sidekiq queue and exposes APIs to retrieve them
Stars: ✭ 29 (+26.09%)
Mutual labels:  sidekiq
Simple scheduler
An enhancement for Heroku Scheduler + Sidekiq for scheduling jobs at specific times.
Stars: ✭ 127 (+452.17%)
Mutual labels:  sidekiq
sinatra-bootstrap
My opinionated Sinatra base application
Stars: ✭ 14 (-39.13%)
Mutual labels:  sidekiq
exq-scheduler
Job scheduler for Exq
Stars: ✭ 24 (+4.35%)
Mutual labels:  sidekiq
lambdakiq
ActiveJob on SQS & Lambda
Stars: ✭ 131 (+469.57%)
Mutual labels:  sidekiq
shotgun
Ready to go Rails App with TailwindCSS, ViewComponent, Devise, and more!
Stars: ✭ 25 (+8.7%)
Mutual labels:  sidekiq

Sidekiq::Debounce

Travis CI CodeClimate Coverage RubyGems

Sidekiq::Debounce is a client-side Sidekiq middleware which provides a way to easily rate-limit creation of Sidekiq jobs.

When you create a job via #perform_in on a Worker with debounce enabled, Sidekiq::Debounce will prevent other jobs with the same arguments from being created until the time has passed. Every time you create another job with those same arguments prior to the job being run, the timer is reset and the entire period must pass again before the job is executed.

Installation

Add this line to your application's Gemfile:

gem 'sidekiq-debounce'

And then execute:

$ bundle

Or install it yourself as:

$ gem install sidekiq-debounce

Usage

Add Sidekiq::Debounce to your client middleware chain, and then add sidekiq_options debounce: true to the worker you wish to debounce.

Use #perform_in instead of #perform_async to set the timeframe.

Contributing

  1. Fork it ( https://github.com/hummingbird-me/sidekiq-debounce/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 a new Pull Request
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].