Как очистить внутренний кеш libcurl, используемый Typheous? - PullRequest
0 голосов
/ 04 ноября 2019

При создании новой версии приложения устанавливаются новые 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 и далее может быть повторно использован.

Пожалуйста, позвольте мне сейчас, если этот подход и сделанные предположения верны.

...