Nodejs Bull 队列未连接到 Azure
Nodejs Bull queue not connecting to Azure
在新的 bull Queue 对象中更改设置时,控制台出现错误。当 运行 在本地使用 Bull Queue 时,应用程序运行得非常好。一旦我将凭据更改为 Azure,就会收到以下错误。当 运行 在本地我 运行 redis-server 但在使用 Azure 凭据时不是。
我已经在 Azure 网站上使用 nodejs 和 redis npm 包尝试了示例教程,并且 Azure redis 缓存工作得很好。因此,我只能相信我在配置中做错了什么。我也尝试将 "maxRetriesPerRequest" 和 "enableReadyCheck" 添加到 redis 对象,但是它们没有效果。我还确保在流程函数中执行完成的函数。
const queue = new Queue('sendQueue', {
defaultJobOptions: { removeOnComplete: true },
redis: {
port: env.AZURE_REDIS_PORT,
host: env.AZURE_REDIS_HOST,
password: env.AZURE_REDIS_PASSWORD
},
});
at Queue.<anonymous> (/Users/abc/Projects/Sean/dist/tasks/sendQueue.js:47:11)
at Queue.emit (events.js:208:15)
at Redis.emit (events.js:203:13)
at Redis.silentEmit (/Users/abc/Projects/Sean/node_modules/ioredis/built/redis/index.js:482:26)
at Socket.<anonymous> (/Users/abc/Projects/Sean/node_modules/ioredis/built/redis/event_handler.js:122:14)
at Object.onceWrapper (events.js:291:20)
at Socket.emit (events.js:203:13)
at emitErrorNT (internal/streams/destroy.js:91:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
at processTicksAndRejections (internal/process/task_queues.js:77:11)
Error: read ECONNRESET
at TCP.onStreamRead (internal/stream_base_commons.js:183:27)
尝试在使用Azure redis 缓存时为TLS 添加配置。应该与主机的配置值相同。没有它我没能连接上。
var notificationQueue = new Queue('notifications', {
redis: {
port: Number(process.env.REDIS_PORT),
host: process.env.REDIS_HOST,
password: process.env.REDIS_PASS,
tls: {
servername: process.env.REDIS_HOST
}
}});
在新的 bull Queue 对象中更改设置时,控制台出现错误。当 运行 在本地使用 Bull Queue 时,应用程序运行得非常好。一旦我将凭据更改为 Azure,就会收到以下错误。当 运行 在本地我 运行 redis-server 但在使用 Azure 凭据时不是。
我已经在 Azure 网站上使用 nodejs 和 redis npm 包尝试了示例教程,并且 Azure redis 缓存工作得很好。因此,我只能相信我在配置中做错了什么。我也尝试将 "maxRetriesPerRequest" 和 "enableReadyCheck" 添加到 redis 对象,但是它们没有效果。我还确保在流程函数中执行完成的函数。
const queue = new Queue('sendQueue', {
defaultJobOptions: { removeOnComplete: true },
redis: {
port: env.AZURE_REDIS_PORT,
host: env.AZURE_REDIS_HOST,
password: env.AZURE_REDIS_PASSWORD
},
});
at Queue.<anonymous> (/Users/abc/Projects/Sean/dist/tasks/sendQueue.js:47:11)
at Queue.emit (events.js:208:15)
at Redis.emit (events.js:203:13)
at Redis.silentEmit (/Users/abc/Projects/Sean/node_modules/ioredis/built/redis/index.js:482:26)
at Socket.<anonymous> (/Users/abc/Projects/Sean/node_modules/ioredis/built/redis/event_handler.js:122:14)
at Object.onceWrapper (events.js:291:20)
at Socket.emit (events.js:203:13)
at emitErrorNT (internal/streams/destroy.js:91:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
at processTicksAndRejections (internal/process/task_queues.js:77:11)
Error: read ECONNRESET
at TCP.onStreamRead (internal/stream_base_commons.js:183:27)
尝试在使用Azure redis 缓存时为TLS 添加配置。应该与主机的配置值相同。没有它我没能连接上。
var notificationQueue = new Queue('notifications', {
redis: {
port: Number(process.env.REDIS_PORT),
host: process.env.REDIS_HOST,
password: process.env.REDIS_PASS,
tls: {
servername: process.env.REDIS_HOST
}
}});