Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A resque plugin for specifying the queues a worker pulls from with wildcards, negations, or dynamic look up from redis.
Ruby
Branch: master
Failed to load latest commit information.
lib use relative urls in web ui
spec use relative urls in web ui
.gitignore Some mac files ignoring
.travis.yml enable travis ci
CHANGELOG Updated changelog
Gemfile initial version
LICENSE license date
README.md travis status
Rakefile
config.ru add rackup config for testing web ui
init.rb revert top level filename to preserve backwards compat
resque-dynamic-queues.gemspec version bump

README.md

A resque plugin for specifying the queues a worker pulls from with wildcards, negations, or dynamic look up from redis.

Authored against Resque 1.15, so it at least works with that - try running the tests if you use a different version of resque

Build Status

Usage:

If creating a gem of your own that uses resque-dynamic-queues, you may have to add an explicit require statement at the top of your Rakefile:

require 'resque-dynamic-queues'

Start your workers with a QUEUE that can contain '*' for zero-or more of any character, '!' to exclude the following pattern, or @key to look up the patterns from redis. Some examples help:

QUEUE='foo' rake resque:work

Pulls jobs from the queue 'foo'

QUEUE='*' rake resque:work

Pulls jobs from any queue

QUEUE='*foo' rake resque:work

Pulls jobs from queues that end in foo

QUEUE='*foo*' rake resque:work

Pulls jobs from queues whose names contain foo

QUEUE='*foo*,!foobar' rake resque:work

Pulls jobs from queues whose names contain foo except the foobar queue

QUEUE='*foo*,!*bar' rake resque:work

Pulls jobs from queues whose names contain foo except queues whose names end in bar

QUEUE='@key' rake resque:work

Pulls jobs from queue names stored in redis (use Resque.set_dynamic_queue("key", ["queuename1", "queuename2"]) to set them)

QUEUE='*,!@key' rake resque:work

Pulls jobs from any queue execept ones stored in redis

QUEUE='@' rake resque:work

Pulls jobs from queue names stored in redis using the hostname of the worker

Resque.set_dynamic_queue("key", ["*foo*", "!*bar"])
QUEUE='@key' rake resque:work

Pulls jobs from queue names stored in redis, with wildcards/negations

task :custom_worker do
  ENV['QUEUE'] = "*foo*,!*bar"
  Rake::Task['resque:work'].invoke
end

From a custom rake script

There is also a tab in the resque-web UI that allows you to define the dynamic queues To activate it, you need to require 'resque-dynamic-queues-server' in whatever initializer you use to bring up resque-web.

Contributors:

Matt Conway ( https://github.com/wr0ngway ) Bert Goethals ( https://github.com/Bertg )

Something went wrong with that request. Please try again.