2

I know that Axum is built on top of Tokio and Tokio has a multi-threaded scheduler and current-threaded scheduler.

Is it possible to set the runtime to make it serve the requests in single thread?

kmdreko
  • 42,554
  • 6
  • 57
  • 106
sailing
  • 55
  • 4

1 Answers1

3

Since axum is just spawned in a tokio runtime with the #[tokio::main] macro or a system you setup. The futures are handled the way you configured the runtime.

Just do this if you're using the macro:

#[tokio::main(flavor = "current_thread")]
async fn main() {
    // Axum code here...
}

Here's the docs for more information for the macro: https://docs.rs/tokio/0.3.3/tokio/attr.main.html#current-thread-runtime

And here's the non sugared way to setup a tokio runtime: https://docs.rs/tokio/latest/tokio/runtime/struct.Builder.html#method.new_current_thread

SeedyROM
  • 2,203
  • 1
  • 18
  • 22