Документация Apple немного неясна в строгой политике. В приложении есть определенные приложения, которые делают спорадические сетевые вызовы во время работы в фоновом режиме как приложение, основанное на местоположении. Примером может служить приложение Geoloqi.
Из HTTPoison
README:
Обычно hackney открывает и закрывает соединения по требованию , но также создает пул по умолчанию соединений, которые повторно используются для запросов к одному и тому же хосту. Если соединение и хост поддерживают keepalive, соединение остается открытым до тех пор, пока оно не будет явно закрыто.
blockquote>
HTTPoison
не экспортируетclose
для базового сокета, и с 2017 года существует открытый выпуск для этого.Между тем, вы можете позвонить
hackney_pool:stop_pool(:default)
. Это, очевидно, не оптимальное решение в любом случае, и оно имеет огромные накладные расходы. Поэтому я бы посоветовал либо отправить запрос на включениеHTTPoison
, включив функцию закрытия соединения (через делегирование;hackney_response.close/1
) или , просто избавиться от избыточностиHTTPoison
и просто используйтеhackney
.
Простейшим решением оказалось настройка pool: false
, весь запрос выглядит так:
HTTPoison.get(url, [], [
timeout: 5_000,
recv_timeout: 5_000,
proxy: proxy,
hackney: [pool: false],
ssl: [{:versions, [:'tlsv1.2']}]
])