webflux-reactive-redis订户未使用kotlin协同程序工作

vd2z7a6w  于 2021-06-09  发布在  Redis
关注(0)|答案(0)|浏览(275)

在我的控制器中,我必须返回一个长时间运行的进程的结果。因此,我正在利用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.
    }
}

是的,我需要配置其他任何东西来实现这一点。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题