Create redis module
This commit is contained in:
commit
0493631d22
4
redis/config/index.js
Normal file
4
redis/config/index.js
Normal file
@ -0,0 +1,4 @@
|
||||
module.exports = {
|
||||
REDIS_HOST: process.env.REDIS_HOST,
|
||||
REDIS_PORT: process.env.REDIS_PORT
|
||||
}
|
||||
38
redis/index.js
Normal file
38
redis/index.js
Normal file
@ -0,0 +1,38 @@
|
||||
const config = require('./config');
|
||||
|
||||
const Redis = require('redis');
|
||||
const redis = {};
|
||||
|
||||
redis.client = Redis.createClient({
|
||||
url: `redis://default@${config.REDIS_HOST}:${config.REDIS_PORT}`
|
||||
});
|
||||
|
||||
redis.connect = async () => {
|
||||
await redis.client.connect().catch(console.error);
|
||||
}
|
||||
|
||||
redis.quit = async () => {
|
||||
await redis.client.quit();
|
||||
}
|
||||
|
||||
redis.ensureGroup = async (stream, group) => {
|
||||
await redis.connect();
|
||||
|
||||
try {
|
||||
await redis.client.xGroupCreate(stream, group, "0", {MKSTREAM: true});
|
||||
|
||||
console.log(`Created consumer group: ${group} (${stream})`);
|
||||
} catch (err) {
|
||||
if (err) {
|
||||
if (err.message.includes('BUSYGROUP')) {
|
||||
console.log(`Consumer group already exists: ${group} (${stream})`);
|
||||
} else {
|
||||
console.error(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
redis
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user