Sha256: 4f1e09b8b2e0190c2bf17799106cd595ccf1a436e1df6b5d652bc33b5935b33f
Contents?: true
Size: 1.84 KB
Versions: 2
Compression:
Stored size: 1.84 KB
Contents
resque-concurrent-restriction =============== Resque Concurrent Restriction is a plugin for the [Resque][0] queueing system (http://github.com/defunkt/resque). It allows one to specify how many of the given job can run concurrently. Resque Concurrent Restriction requires Resque 1.10 and redis 2.2 [![Build Status](https://secure.travis-ci.org/wr0ngway/resque-concurrent-restriction.png)](http://travis-ci.org/wr0ngway/resque-concurrent-restriction) Install ------- sudo gem install resque-concurrent-restriction To use ------ It is especially useful when a system has intensive jobs for which you should only run a few at a time. What you should do for the IntensiveJob is to make it extend Resque::Plugins::ConcurrentRestriction and specify the concurrent limit (defaults to 1). For example: class IntensiveJob extend Resque::Plugins::ConcurrentRestriction concurrent 4 #rest of your class here end That means the IntensiveJob can not have more than 4 jobs running simultaneously One can also make the concurrency limit depend on the parameters of a job, for example, if you always pass a user_id as the first param, you can restrict the job to run N concurrent jobs per user: class IntensiveJob extend Resque::Plugins::ConcurrentRestriction concurrent 4 def self.concurrent_identifier(*args) args.first.to_s end #rest of your class here end Author ------ Code was originally forked from the [resque-restriction][1] plugin (Richard Huang :: flyerhzm@gmail.com :: @flyerhzm), but diverged enough that it warranted being its own plugin to keep the code simple. Matt Conway :: matt@conwaysplace.com :: @mattconway Copyright --------- Copyright (c) 2011 Matt Conway. See LICENSE for details. [0]: http://github.com/defunkt/resque [1]: http://github.com/flyerhzm/resque-restriction
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
resque-concurrent-restriction-0.5.9 | README.md |
resque-concurrent-restriction-0.5.8 | README.md |