Skip to content

Commit

Permalink
fix: 리뷰가 completed가 되었을때 반환하도록 수정 (#22)
Browse files Browse the repository at this point in the history
* feat: 리뷰가 completed가 되었을때 반환하도록 수정

* feat: delay조건을 추가한다
  • Loading branch information
devxb authored Feb 8, 2025
1 parent fb301d1 commit 3d37760
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
14 changes: 12 additions & 2 deletions src/main/kotlin/me/misik/api/app/GetReviewFacade.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package me.misik.api.app

import kotlinx.coroutines.delay
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withTimeout
import me.misik.api.core.GracefulShutdownDispatcher
Expand All @@ -16,8 +17,17 @@ class GetReviewFacade(
fun getReview(id: Long): Review {
return runBlocking(GracefulShutdownDispatcher.dispatcher) {
withTimeout(60.seconds) {
reviewService.getReview(id)
}.get()
var result: Review? = null
while (result == null) {
delay(500)
reviewService.getById(id)
.takeIf { it.isCompleted }
.let {
result = it
}
}
return@withTimeout result!!
}
}
}
}
3 changes: 0 additions & 3 deletions src/main/kotlin/me/misik/api/domain/ReviewService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,4 @@ class ReviewService(

fun getById(id: Long): Review = reviewRepository.findByIdOrNull(id)
?: throw IllegalArgumentException("Cannot find review by id \"$id\"")

fun getReview(id: Long) = reviewRepository.findById(id)
?: throw IllegalArgumentException("Cannot find review by id \"$id\"")
}

0 comments on commit 3d37760

Please sign in to comment.