在我的控制器中,我必须返回一个长时间运行的进程的结果。因此,我正在利用redis pub/sub分发工作。但是,我的订阅服务器似乎没有工作,也没有返回任何挂起的内容。
这就是我正在尝试的。我删除了一些代码来显示问题。
这是我的控制器
@RestController
@RequestMapping("/messages")
class TestController(private val redisOperations: ReactiveRedisOperations<String, Result>) {
@PostMapping
suspend fun receiveRequest(@RequestBody request: Request): Result = coroutineScope {
val subscriptionId = UUID.randomUUID().toString()
val asyncSubscriber = async {
redisOperations.listenToChannel(subscriptionId).awaitFirst()
}
redisOperations.convertAndSend(subscriptionId, Result(true, TextNode("test"))).awaitFirst()
asyncSubscriber.await().message // This is not being resolved.
}
}
是的,我需要配置其他任何东西来实现这一点。
暂无答案!
目前还没有任何答案,快来回答吧!