lykmapipo / kue-scheduler

A job scheduler utility for kue, backed by redis and built for node.js
246 stars 47 forks source link

Queue.remove does not stop the scheduler #32

Closed sly8787 closed 6 years ago

sly8787 commented 8 years ago

Is this a bug or am I an idiot?


function dynamicCreation(jobNumber){

    function done(err, res){
        console.log(err)
        console.log(res)
    }

    var data = {
        to: jobNumber
    };

    var backoff = {
        delay: 60000,
        type: 'fixed'
    };

    Queue.process('unique_every', function(job, finalize) {
        console.log('EXECUTE: unique_every');
        finalize();
    });

    //listen on success scheduling
    Queue.on('schedule success', function(job) {
        if (job.type === 'unique_every') {
            console.log('schedule success: unique_every');
        }
    });

    var job = Queue
        .createJob('unique_every', data)
        .attempts(3)
        .backoff(backoff)
        .priority('normal')
        .unique('every_mail');

    Queue.every('2 seconds', job);

    //wait for two jobs to be runned
    setTimeout(function() {
        Queue.remove({ unique: 'every_mail' }, done);
    }, 6000);

}

dynamicCreation('removed_every');

Console:

process: unique_every
process: unique_every
null
{ removedJobInstance: null,
  removedExpiryKey: 0,
  removedJobData: 0 }
process: unique_every
process: unique_every
process: unique_every
process: unique_every

package.json

{
  "name": "kue_test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "author": "",
  "license": "ISC",
  "dependencies": {
    "kue": "^0.9.6",
    "kue-scheduler": "^0.4.2",
    "lodash": "^4.6.1",
    "request-promise": "^2.0.1",
    "then-request": "^2.2.0"
  }
}