Merge pull request #43 from jambonz/feat/realtimedb

use realtimedb-helper for initiate redis connection
This commit is contained in:
Dave Horton authored and GitHub committed 2023-11-10 07:49:28 -05:00
commit e99f7c5087
3 files changed
+39 -44

No files matched your search

+4 -25
View File
@@ -1,34 +1,13 @@
const {noopLogger} = require('./lib/utils'); const {noopLogger} = require('./lib/utils');
const Redis = require('ioredis');
module.exports = (opts, logger) => { module.exports = (opts, logger) => {
logger = logger || noopLogger; logger = logger || noopLogger;
const connectionOpts = {...opts}; let client = opts.redis_client;
// Support legacy app if (!client) {
if (process.env.JAMBONES_REDIS_USERNAME && process.env.JAMBONES_REDIS_PASSWORD) { const {client: redisClient} = require('@jambonz/realtimedb-helpers')(opts, logger);
if (Array.isArray(connectionOpts)) { client = redisClient;
for (const o of opts) {
o.username = process.env.JAMBONES_REDIS_USERNAME;
o.password = process.env.JAMBONES_REDIS_PASSWORD;
}
} else {
connectionOpts.username = process.env.JAMBONES_REDIS_USERNAME;
connectionOpts.password = process.env.JAMBONES_REDIS_PASSWORD;
}
} }
const client = new Redis(connectionOpts);
['ready', 'connect', 'reconnecting', 'error', 'end', 'warning']
.forEach((event) => {
client.on(event, (...args) => {
if ('error' === event) {
if (process.env.NODE_ENV === 'test' && args[0]?.code === 'ECONNREFUSED') return;
logger.error({...args}, '@jambonz/realtimedb-helpers - redis error');
}
else logger.debug({args}, `redis event ${event}`);
});
});
return { return {
client, client,
getTtsSize: require('./lib/get-tts-size').bind(null, client, logger), getTtsSize: require('./lib/get-tts-size').bind(null, client, logger),
+34 -18
View File
@@ -1,23 +1,23 @@
{ {
"name": "@jambonz/speech-utils", "name": "@jambonz/speech-utils",
"version": "0.0.25", "version": "0.0.24",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@jambonz/speech-utils", "name": "@jambonz/speech-utils",
"version": "0.0.25", "version": "0.0.24",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@aws-sdk/client-polly": "^3.359.0", "@aws-sdk/client-polly": "^3.359.0",
"@google-cloud/text-to-speech": "^4.2.1", "@google-cloud/text-to-speech": "^4.2.1",
"@grpc/grpc-js": "^1.8.13", "@grpc/grpc-js": "^1.8.13",
"@jambonz/realtimedb-helpers": "^0.8.7",
"bent": "^7.3.12", "bent": "^7.3.12",
"debug": "^4.3.4", "debug": "^4.3.4",
"form-urlencoded": "^6.1.0", "form-urlencoded": "^6.1.0",
"google-protobuf": "^3.21.2", "google-protobuf": "^3.21.2",
"ibm-watson": "^8.0.0", "ibm-watson": "^8.0.0",
"ioredis": "^5.3.2",
"microsoft-cognitiveservices-speech-sdk": "^1.31.0", "microsoft-cognitiveservices-speech-sdk": "^1.31.0",
"openai": "^4.16.2", "openai": "^4.16.2",
"undici": "^5.21.0" "undici": "^5.21.0"
@@ -1211,6 +1211,15 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/@jambonz/realtimedb-helpers": {
"version": "0.8.7",
"resolved": "https://registry.npmjs.org/@jambonz/realtimedb-helpers/-/realtimedb-helpers-0.8.7.tgz",
"integrity": "sha512-gDq56YUd/SIx8Q9mJ+WEIfLCUcGNQ33A0iWKhhwMFwzqTESlhHjy97oQGr7BZVQGB8c0ZnqKIxuAv4ruI3ew7w==",
"dependencies": {
"debug": "^4.3.4",
"ioredis": "^5.3.2"
}
},
"node_modules/@jest/types": { "node_modules/@jest/types": {
"version": "26.6.2", "version": "26.6.2",
"resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
@@ -2676,6 +2685,14 @@
"node": ">=0.4.0" "node": ">=0.4.0"
} }
}, },
"node_modules/denque": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
"integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==",
"engines": {
"node": ">=0.10"
}
},
"node_modules/diff-sequences": { "node_modules/diff-sequences": {
"version": "26.6.2", "version": "26.6.2",
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
@@ -4104,14 +4121,6 @@
"url": "https://opencollective.com/ioredis" "url": "https://opencollective.com/ioredis"
} }
}, },
"node_modules/ioredis/node_modules/denque": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
"integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==",
"engines": {
"node": ">=0.10"
}
},
"node_modules/is-arguments": { "node_modules/is-arguments": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
@@ -8052,6 +8061,15 @@
"integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
"dev": true "dev": true
}, },
"@jambonz/realtimedb-helpers": {
"version": "0.8.7",
"resolved": "https://registry.npmjs.org/@jambonz/realtimedb-helpers/-/realtimedb-helpers-0.8.7.tgz",
"integrity": "sha512-gDq56YUd/SIx8Q9mJ+WEIfLCUcGNQ33A0iWKhhwMFwzqTESlhHjy97oQGr7BZVQGB8c0ZnqKIxuAv4ruI3ew7w==",
"requires": {
"debug": "^4.3.4",
"ioredis": "^5.3.2"
}
},
"@jest/types": { "@jest/types": {
"version": "26.6.2", "version": "26.6.2",
"resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
@@ -9207,6 +9225,11 @@
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
}, },
"denque": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
"integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw=="
},
"diff-sequences": { "diff-sequences": {
"version": "26.6.2", "version": "26.6.2",
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
@@ -10264,13 +10287,6 @@
"redis-errors": "^1.2.0", "redis-errors": "^1.2.0",
"redis-parser": "^3.0.0", "redis-parser": "^3.0.0",
"standard-as-callback": "^2.1.0" "standard-as-callback": "^2.1.0"
},
"dependencies": {
"denque": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
"integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw=="
}
} }
}, },
"is-arguments": { "is-arguments": {
+1 -1
View File
@@ -27,12 +27,12 @@
"@aws-sdk/client-polly": "^3.359.0", "@aws-sdk/client-polly": "^3.359.0",
"@google-cloud/text-to-speech": "^4.2.1", "@google-cloud/text-to-speech": "^4.2.1",
"@grpc/grpc-js": "^1.8.13", "@grpc/grpc-js": "^1.8.13",
"@jambonz/realtimedb-helpers": "^0.8.7",
"bent": "^7.3.12", "bent": "^7.3.12",
"debug": "^4.3.4", "debug": "^4.3.4",
"form-urlencoded": "^6.1.0", "form-urlencoded": "^6.1.0",
"google-protobuf": "^3.21.2", "google-protobuf": "^3.21.2",
"ibm-watson": "^8.0.0", "ibm-watson": "^8.0.0",
"ioredis": "^5.3.2",
"microsoft-cognitiveservices-speech-sdk": "^1.31.0", "microsoft-cognitiveservices-speech-sdk": "^1.31.0",
"openai": "^4.16.2", "openai": "^4.16.2",
"undici": "^5.21.0" "undici": "^5.21.0"