enova / sidekiq-rate-limiter

Redis-backed, per-worker rate limits for job processing.
http://rubygems.org/gems/sidekiq-rate-limiter
MIT License
193 stars 43 forks source link

Compatibility with sidekiq-limit_fetch #9

Open jcarlson opened 10 years ago

jcarlson commented 10 years ago

I have a project currently using sidekiq-limit_fetch to manage concurrency limits on a per-queue basis. I have a new requirement that adds time as a dimension with which to throttle jobs, and I would like to use sidekiq-rate-limiter to manage this, but I'm wondering if there is a way to configure sidekiq-rate-limiter to limit concurrency of jobs, irrespective of a time-based limit? e.g., fetch jobs as quickly as you can, but only 3 workers may work on this kind of job at a time?

For clarity, I have SomeJob that may run as quickly as possible, but I only ever want three workers at a time running this job, and I have AnotherJob, for which concurrency doesn't matter, but I can only process this job at a rate of 1 per second.

bwthomas commented 9 years ago

Hey @jcarlson, sorry for the super-late response, I've been entirely too busy at work.

I think this is a very good idea for a feature. I don't have the time to implement it right now, but I welcome a pull request.

Alternatively I'll be taking some vacation time in July & plan to revisit my projects then.

bobber205 commented 8 years ago

+1 really need this feature!

montebrown commented 7 years ago

+1 for this feature

bobber205 commented 7 years ago

This gem is basically dead -- I'd use https://github.com/sensortower/sidekiq-throttled instead.