この記事は、Zennにも投稿しています。
概要
axumなどを作ってRustでサーバーを作ると
docker compose stopなどが微妙に遅くてイライラだったのでそれを解決する方法です。コード
解説
docker stop — Docker-docs-ja 24.0 ドキュメント
docs.docker.jp
ここに書かれているように、
docker stopが実行されるとプログラムにSIGTERMが送信されるのでtokio::signalを使ってそれを受け取り、tokio::selectを使ってタスクを完了させます。