node-sidekiq
node-sidekiq copied to clipboard
Dequeue support
Sometimes it's useful to have ability to cancel some jobs.
Now node-sidekiq supports it by dequeue(payload) method. For example
var some_storage = {},
sidekiq = new Sidekiq(cli),
action = "some_action";
sidekiq.enqueue("MyJobClass", [1,2,3], {queue: 'critical'}, function(payload){
// you will get payload saved to redis here (not stringified)
some_store[user_session + ':' + action] = payload;
});
and then cancel it using your old payload:
(function(user_session, action){
payload = some_storage[user_session + ':' + action]
sidekiq.dequeue(payload) // will remove the job
/*
also avaliable aliases for debounce:
sidekiq.cancel
sidekiq.unsubscribe
*/
})() // some callback
It works both with queues and scheduled jobs.
Also i've set the default namespace to sidekiq as a default namespace in sidekiq config.