tokio

Installation
SKILL.md

Tokio

Tokio é o executor. Axum, sqlx, reqwest e WS rodam nele. HTTP: axum. Produção/shutdown: rust-axum-production. Hub WS: rust-axum-websocket. Linguagem: rust.

Não troque para async-std/smol numa API Axum. Multi-thread (#[tokio::main]) é o default de serviço; current_thread só se o binário já for assim (CLI, teste).

Regras inegociáveis

  • Não bloqueie workers: sem std::thread::sleep, std::fs pesado, mutex std longo, DNS/wait síncrono no handler.
  • CPU/FS/legacy sync → spawn_blocking (ou crate async). I/O de rede → APIs Tokio/async.
  • Toda task tem fim: JoinHandle, JoinSet ou cancelamento. Sem spawn fire-and-forget de trabalho de negócio.
  • select! com cancelamento justo; a ramificação que perde não deixa I/O órfão (use AbortHandle / drop do future / CancellationToken).
  • Context/deadline do request: propague cancel, não ignore JoinHandle de handler.

Boot

Installs
3
First Seen
Sep 8, 2026
tokio — danieldxd/myapp-skills