我有一个主要的 Tokio 运行时,以及一些使用reqwest
.
我遇到的一个问题是主事件循环可能会阻塞一段时间,这会使 HTTP 请求变慢,直到超时。
当我的代码在主事件循环中运行时,我无法同时创建两个运行时。
Tokio 阻止您从第一个(嵌套)运行时创建第二个运行时。
tokio::task::spawn_blocking
withexecutor::block_on(http_call_fut)
似乎没有帮助 - 被阻塞的主事件循环似乎减慢了 HTTP 请求,无论它们在哪里运行。我假设 Tokio 的调度程序逻辑在阻塞时不起作用。
如何将我的 HTTP 请求与可能阻塞的主事件循环隔离开来?
我希望它们全速完成,然后让完成的未来在内存中等待,直到它可以被主事件循环读取。