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 { return this.redisClient; } onFinish(): void { this.redisClient.quit(); } }