Да, это довольно просто, хотя я не верю, что Alamofire
обеспечивает это изначально.Поскольку библиотека позволяет вам делать сетевые запросы, довольно просто просто повторить попытку с экспоненциальным откатом, если вы ошибетесь с ошибкой 500
.Конкретно, в блоке завершения ваших Alamofire
запросов вы проверяете код состояния, и, если он 500
, повторите попытку после задержки.Эта задержка должна храниться в каком-то единичном блоке на уровне вашего сетевого менеджера и увеличиваться по кривой экспоненциальной задержки по вашему вкусу при возникновении сбоев.После этого ваш запрос должен быть сброшен до базовой задержки.