I am trying re-use Redis session following PATTERNS.md. All is working until the "New Queue" code, but when I try call ".process" queue method i exception appears
_TypeError: scripts.updateDelaySet(...).then(...).catch(...).return is not a function
services_monitor.1.wfdxm3rsmh11@l01752papp0 | at delayUpdate (/var/www/html/node/node_modules/bull/lib/queue.js:867:16)_
The code:
`var Queue = require('bull');
var Redis = require('ioredis')
var client = new Redis(6379, 'redis');
var subscriber = new Redis(6379, 'redis');
var opts = {
createClient: function (type) {
switch (type) {
case 'client':
return client;
case 'subscriber':
return subscriber;
default:
return new Redis();
}
}
}`
var queueMonitor = new Queue('monitor', opts); //-> returns the Queue object
queueMonitor.process(function(job, done){ // the error appears here
console.log("Received message", job.data.msg);
done();
});
bull 3.4.7
ioredis 4.0.0
I believe this is an issue with ioredis v4.0.0
Did you try:
var Redis = require('ioredis');
Redis.Promise = require('bluebird');
@ritter It works!! Tkss 馃憤
I didn't want to use bluebird to solve this, so downgrading ioredis version from ^4.2.0 to 3.2.2 worked for me.
Most helpful comment
I believe this is an issue with ioredis v4.0.0
Did you try:
var Redis = require('ioredis');Redis.Promise = require('bluebird');