При создании новой версии приложения устанавливаются новые PODS. Соединения, сделанные из другого приложения ruby с этим развернутым приложением, все еще находятся в кэше libcurl и, таким образом, пытаются повторить то же соединение и, таким образом, в течение некоторого времени терпят неудачу. Я хотел бы удалить / очистить кэш во время этой проблемы, когда я заметил первый неудачный запрос. Позже после сброса следует продолжить обычное поведение кеширования и управления соединениями.
Я предполагаю, что мы можем использовать эту опцию для удаления кэша. - DNS_TIMEOUT - https://curl.haxx.se/libcurl/c/CURLOPT_DNS_CACHE_TIMEOUT.html
Но я не уверен, отключит ли это кэширование всех следующих запросов.
План: После развертывания, если приложение ruby обнаружит ошибку недоступности службы из конечной точки развернутого приложения, я инициирую новый запрос (Запрос A) с DNS_Timeout 0 и FRESH_CONNECT 1 для этого запроса. Позже для всех других запросов (Запрос B, Запрос C ....) эти параметры не будут установлены.
Ожидаемый результат: Запрос A обеспечит очистку кэша и установление нового соединения, чтобы он достиг нового сервера. Позже запрос B будет кэширован, а запрос C и далее может быть повторно использован.
Пожалуйста, позвольте мне сейчас, если этот подход и сделанные предположения верны.