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