node-sidekiq icon indicating copy to clipboard operation
node-sidekiq copied to clipboard

Dequeue support

Open nick-skriabin opened this issue 11 years ago • 0 comments

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.

nick-skriabin avatar Feb 04 '14 14:02 nick-skriabin