несколько тредов, нужно при получении, например, SIGINT, мягко из завершить, чтобы не попортились данные.
Протаскивать через всю кодовую базу Arc с флагом завершения не хочется
берёшь фьючу, которую ты пихаешь в tokio::run, берёшь https://docs.rs/tokio-signal/0.2.2/tokio_signal/fn.ctrl_c.html (ну или какой тебе сигнал нужен), делаешь select2 на них и его пихаешь в tokio::run в итоге когда прилетает сигнал, фюьча из tokio-signal завершается (правда там по дефолту стрим, который тебе надо будет конвертнуть во фьючу, которая заканчивается по первому же сигналу), select тоже завершается, tokio::run выходит приложение завершается, все фьючи дропаются ^_^
Помоему в рокет есть graceful shdwn, можно глянуть в репке
посылать завершающий сигнал через канал
Обсуждают сегодня