nicholasnet
04/13/2020, 3:27 PMsuspend fun processRequest(request: Request): Result = coroutineScope {
val jobId = UUID.randomUUID().toString()
val deferredMessage = async {
redisOperations.listenToChannel(jobId).awaitFirst()
}
val deferredProducer = async(start = CoroutineStart.LAZY) {
adtMessageProducer.send(adtRequest, jobId)
}
deferredProducer.await()
deferredMessage.await().message
}
Dominaezzz
04/13/2020, 4:22 PMnicholasnet
04/13/2020, 5:06 PM