Add logs for redis crashing and reconnecting
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import { createClient } from '@redis/client';
|
import { createClient, SocketClosedUnexpectedlyError } from '@redis/client';
|
||||||
import { Client } from 'discord.js';
|
import { Client } from 'discord.js';
|
||||||
import { banUpdateHandler, ticketUpdateHandler } from '../utils';
|
import { banUpdateHandler, ticketUpdateHandler } from '../utils';
|
||||||
|
|
||||||
@@ -12,13 +12,32 @@ export async function openRedisClient(url: string, discClient: Client) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
await client.connect();
|
client.on('error', (error) => {
|
||||||
|
if (error.code == 'ECONNREFUSED') {
|
||||||
|
console.error("Couldn't connect to redis database: Connection refused (is redis on? is the port reachable?)");
|
||||||
|
} else if (error instanceof SocketClosedUnexpectedlyError) {
|
||||||
|
console.error('Redis server closed unexpectedly. Attempting reconnect every 60 seconds.');
|
||||||
|
} else {
|
||||||
|
console.error('Redis error:');
|
||||||
|
console.error(error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
client.on('connect', () => {
|
||||||
|
console.log('Connected to redis database');
|
||||||
|
});
|
||||||
|
|
||||||
|
client.on('reconnecting', () => {
|
||||||
|
console.log('Attempting to reconnect to redis database');
|
||||||
|
});
|
||||||
|
|
||||||
|
client.once('connect', () => {
|
||||||
|
client.subscribe(['ticket_updates', 'ban_updates'], updateHandler);
|
||||||
|
});
|
||||||
|
|
||||||
|
client.connect();
|
||||||
|
|
||||||
discordClient = discClient;
|
discordClient = discClient;
|
||||||
|
|
||||||
console.log('Connected to redis database');
|
|
||||||
|
|
||||||
await client.subscribe(['ticket_updates', 'ban_updates'], updateHandler);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateHandler(data: string, channel: string) {
|
function updateHandler(data: string, channel: string) {
|
||||||
|
|||||||
Reference in New Issue
Block a user