29 lines
558 B
TypeScript
29 lines
558 B
TypeScript
import Redis from "ioredis";
|
|
import { Plugin } from "../plugin.class";
|
|
|
|
export class RedisPlugin extends Plugin {
|
|
constructor(name: string, private redisClient: Redis) {
|
|
super(name);
|
|
}
|
|
|
|
static init(
|
|
name: string,
|
|
config: { host: string; port: number }
|
|
): RedisPlugin {
|
|
const redisClient = new Redis({
|
|
host: config.host,
|
|
port: config.port,
|
|
});
|
|
|
|
return new RedisPlugin(name, redisClient);
|
|
}
|
|
|
|
async run(): Promise<Redis> {
|
|
return this.redisClient;
|
|
}
|
|
|
|
onFinish(): void {
|
|
this.redisClient.quit();
|
|
}
|
|
}
|