Node.js Kue how to restart failed jobs

I am using kue for delayed jobs in my node.js application.

I have some problems to figure out how I can restart a job using the API of kue without having to move the id of a job manually from the the list of failed jobs to the list of inactive jobs using redis commands.

Is this possible using kue?

I don't want to set a fixed number of retry attempts - I just want to retry specific jobs.

Suggestions for a well maintained alternative to kue are also welcome.

i dont know if this is working but you could try to reset the state of the job to active, and save the job again:

job.on('failed', function() {
  job.state('inactive').save();

Edit: setting state to inactive will correctly re-enqueue the task.

This can also be done using queue level events.

queue.on('job failed', function(id, result) {
    kue.Job.get(id, function(err, job) {
        if (!err && shouldRetry(job))
            job.state('inactive').save();
    });
});

Thus you don't need to do for every job that you wish to retry. Instead you can filter it in the queue level event.