KK
Мог бы предусмотреть более простую версию, которая не принимает новые конекты, ждёт пока закроются все имеющиеся конекты, и только потом начинает гасить весь сервер.
А так мне приходится самому на каждую "функциональность" приложения делать свой обработчик on_shutdown, который будет по каким-то своим метрикам понимать, что рано ещё всё гасить. И при этом нет возможности запретить серверу принимать новые конекты. Т.е. в худшем случае сервер никогда не загасится, т.к. будут приходить новые конекты, которые будут оттягивать завершение работы.