相关疑难解决方法(0)

如何使用futures.rs和Redis PubSub实现阻塞呼叫的期货流?

我正在尝试创建一个系统,通过该系统,我的应用程序可以从Redis PubSub通道接收流数据并对其进行处理.我正在使用的Redis驱动程序,以及我见过的Rust的所有其他Redis驱动程序,使用阻塞操作从通道获取数据,该数据仅在接收数据时返回值:

let msg = match pubsub.get_message() {
        Ok(m) => m,
        Err(_) => panic!("Could not get message from pubsub!")
};
let payload: String = match msg.get_payload() {
    Ok(s) => s,
    Err(_) => panic!("Could not convert redis message to string!")
};
Run Code Online (Sandbox Code Playgroud)

我想在将来使用futures-rs库包装这个阻塞函数调用,这样我就可以在等待输入时在我的应用程序中执行其他任务.

我阅读了期货教程并尝试创建一个Stream可以在PubSub收到数据时发出信号,但我无法弄清楚如何这样做.

如何为阻止功能创建schedule和运行?pollpubsub.get_message()

asynchronous future redis rust

7
推荐指数
1
解决办法
2025
查看次数

标签 统计

asynchronous ×1

future ×1

redis ×1

rust ×1