Skip to content

Commit 8568d84

Browse files
committed
feat: add elastic search connection method
1 parent 30038f8 commit 8568d84

File tree

4 files changed

+19
-4
lines changed

4 files changed

+19
-4
lines changed

apps/server/src/lib/elasticSearch/ElasticSearchService.ts

+13-2
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,29 @@ import { Post } from '@packages/database/velog-rds'
77
import { UserService } from '@services/UserService/index.js'
88

99
interface Service {
10-
get client(): Client
10+
getClient(): Client
1111
keywordSearch(input: KeywordSearchArgs): Promise<{ count: number; posts: Post[] }>
1212
}
1313

1414
@injectable()
1515
@singleton()
1616
export class ElasticSearchService implements Service {
17+
public client!: Client
1718
constructor(
1819
private readonly userService: UserService,
1920
private readonly buildQueryService: BuildQueryService,
2021
) {}
21-
public get client(): Client {
22+
public connection(): Promise<Client> {
23+
return new Promise((resolve) => {
24+
const client = new Client({ node: ENV.esHost })
25+
this.client = client
26+
resolve(client)
27+
})
28+
}
29+
public getClient(): Client {
30+
if (this.client) {
31+
return this.client
32+
}
2233
return new Client({ node: ENV.esHost })
2334
}
2435
public get buildQuery() {

apps/server/src/main.mts

+4
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { startClosing } from '@plugins/global/keepAlivePlugin.mjs'
66
import { DbService } from '@lib/db/DbService.js'
77
import { RedisService } from '@lib/redis/RedisService.js'
88
import { DiscordService } from '@lib/discord/DiscordService.js'
9+
import { ElasticSearchService } from '@lib/elasticSearch/ElasticSearchService.js'
910

1011
async function main() {
1112
app.listen({ port: ENV.port, host: '::' })
@@ -19,6 +20,9 @@ async function main() {
1920
const discord = container.resolve(DiscordService)
2021
await discord.connection()
2122

23+
const elasticSearch = container.resolve(ElasticSearchService)
24+
elasticSearch.connection()
25+
2226
process.send?.('ready')
2327
process.on('SIGINT', function () {
2428
startClosing()

infrastructure/Pulumi.production.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
config:
22
aws:region: ap-northeast-2
33
velog:DOCKER_ENV: production
4-
velog:target: cron
4+
velog:target: server

infrastructure/Pulumi.stage.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
config:
22
aws:region: ap-northeast-2
33
velog:DOCKER_ENV: stage
4-
velog:target: server,cron
4+
velog:target: server

0 commit comments

Comments
 (0)