как-то запустить их во внешнем потоке приложения параллельно и повторять бесконечно. Плюс если функция внутри запаникует, перезапускать ее. Подскажите как верно делать все? tokio используется в проекте
Я бы переписал из паников в какой-то Result<_, _> (можно и catch_unwind ловить), а потом через tokio::spawn + async {} + цикл запускать
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=b912af18ff457afe5b8cab6b778d0aaf
Этот вариант игнорирует любые ошибки, так что лучше в цикл добавить хотя-бы вывод Err, если таковой будет
Обсуждают сегодня