mirror of
https://github.com/hexastack/hexabot
synced 2025-03-11 14:50:14 +00:00
fix: socketio redis adapter
This commit is contained in:
parent
9770a344aa
commit
4607df67aa
@ -1,11 +1,12 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright © 2024 Hexastack. All rights reserved.
|
* Copyright © 2025 Hexastack. All rights reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms:
|
* Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms:
|
||||||
* 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission.
|
* 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission.
|
||||||
* 2. All derivative works must include clear attribution to the original creator and software, Hexastack and Hexabot, in a prominent location (e.g., in the software's "About" section, documentation, and README file).
|
* 2. All derivative works must include clear attribution to the original creator and software, Hexastack and Hexabot, in a prominent location (e.g., in the software's "About" section, documentation, and README file).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import { InternalServerErrorException } from '@nestjs/common';
|
||||||
import { IoAdapter } from '@nestjs/platform-socket.io';
|
import { IoAdapter } from '@nestjs/platform-socket.io';
|
||||||
import { createAdapter } from '@socket.io/redis-adapter';
|
import { createAdapter } from '@socket.io/redis-adapter';
|
||||||
import { createClient } from 'redis';
|
import { createClient } from 'redis';
|
||||||
@ -17,14 +18,19 @@ export class RedisIoAdapter extends IoAdapter {
|
|||||||
private adapter: ReturnType<typeof createAdapter>;
|
private adapter: ReturnType<typeof createAdapter>;
|
||||||
|
|
||||||
async connectToRedis(): Promise<void> {
|
async connectToRedis(): Promise<void> {
|
||||||
const pubClient = createClient(
|
if (config.cache.host !== 'redis') {
|
||||||
config.cache.type === 'redis' && {
|
throw new InternalServerErrorException(
|
||||||
socket: {
|
`Unable to run connect to redis host is ${config.cache.host} instead of 'redis'`,
|
||||||
host: config.cache.host,
|
);
|
||||||
port: config.cache.port,
|
}
|
||||||
},
|
// @todo : add zod validation
|
||||||
|
const redisConfig = {
|
||||||
|
socket: {
|
||||||
|
host: config.cache.host,
|
||||||
|
port: config.cache.port,
|
||||||
},
|
},
|
||||||
);
|
};
|
||||||
|
const pubClient = createClient(redisConfig);
|
||||||
const subClient = pubClient.duplicate();
|
const subClient = pubClient.duplicate();
|
||||||
pubClient.on('error', (error) => {
|
pubClient.on('error', (error) => {
|
||||||
throw error;
|
throw error;
|
||||||
|
Loading…
Reference in New Issue
Block a user