summaryrefslogtreecommitdiff
path: root/packages/backend/src/GlobalModule.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-04-09 17:09:27 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-04-09 17:09:27 +0900
commit39cf80e19f10676b263004e0a1402fdc5a9613f9 (patch)
treea39d41c80ef6b33dc1a4be12ebd2fbe00f89bf11 /packages/backend/src/GlobalModule.ts
parentfix(backend): ストリーミングのLTLチャンネルでサーバー側に... (diff)
downloadsharkey-39cf80e19f10676b263004e0a1402fdc5a9613f9.tar.gz
sharkey-39cf80e19f10676b263004e0a1402fdc5a9613f9.tar.bz2
sharkey-39cf80e19f10676b263004e0a1402fdc5a9613f9.zip
fix(backend): イベント用redis分離が上手く動かない問題を修正
Diffstat (limited to 'packages/backend/src/GlobalModule.ts')
-rw-r--r--packages/backend/src/GlobalModule.ts30
1 files changed, 24 insertions, 6 deletions
diff --git a/packages/backend/src/GlobalModule.ts b/packages/backend/src/GlobalModule.ts
index cb713b25ad..174d0d8beb 100644
--- a/packages/backend/src/GlobalModule.ts
+++ b/packages/backend/src/GlobalModule.ts
@@ -37,8 +37,24 @@ const $redis: Provider = {
inject: [DI.config],
};
-const $redisForPubsub: Provider = {
- provide: DI.redisForPubsub,
+const $redisForPub: Provider = {
+ provide: DI.redisForPub,
+ useFactory: (config) => {
+ const redis = new Redis({
+ port: config.redisForPubsub.port,
+ host: config.redisForPubsub.host,
+ family: config.redisForPubsub.family == null ? 0 : config.redisForPubsub.family,
+ password: config.redisForPubsub.pass,
+ keyPrefix: `${config.redisForPubsub.prefix}:`,
+ db: config.redisForPubsub.db ?? 0,
+ });
+ return redis;
+ },
+ inject: [DI.config],
+};
+
+const $redisForSub: Provider = {
+ provide: DI.redisForSub,
useFactory: (config) => {
const redis = new Redis({
port: config.redisForPubsub.port,
@@ -57,14 +73,15 @@ const $redisForPubsub: Provider = {
@Global()
@Module({
imports: [RepositoryModule],
- providers: [$config, $db, $redis, $redisForPubsub],
- exports: [$config, $db, $redis, $redisForPubsub, RepositoryModule],
+ providers: [$config, $db, $redis, $redisForPub, $redisForSub],
+ exports: [$config, $db, $redis, $redisForPub, $redisForSub, RepositoryModule],
})
export class GlobalModule implements OnApplicationShutdown {
constructor(
@Inject(DI.db) private db: DataSource,
@Inject(DI.redis) private redisClient: Redis.Redis,
- @Inject(DI.redisForPubsub) private redisForPubsub: Redis.Redis,
+ @Inject(DI.redisForPub) private redisForPub: Redis.Redis,
+ @Inject(DI.redisForSub) private redisForSub: Redis.Redis,
) {}
async onApplicationShutdown(signal: string): Promise<void> {
@@ -79,7 +96,8 @@ export class GlobalModule implements OnApplicationShutdown {
await Promise.all([
this.db.destroy(),
this.redisClient.disconnect(),
- this.redisForPubsub.disconnect(),
+ this.redisForPub.disconnect(),
+ this.redisForSub.disconnect(),
]);
}
}