Фон
У нас есть приложение, которое обрабатывает значительное количество запросов в секунду. Это приложение должно уведомить внешнюю службу, сделав вызов GET через HTTPS на один из наших серверов.
Цель
Цель здесь - использовать HTTPoison для выполнения асинхронных запросов GET. Меня не волнует ответ на запросы, все, что мне нужно, это знать, если они потерпели неудачу или нет, поэтому я могу записать любые возможные ошибки в регистратор.
Если это удастся, я не хочу ничего делать.
Исследования
Я проверил официальную документацию на HTTPoison и вижу, что они поддерживают асинхронные запросы:
https://hexdocs.pm/httpoison/readme.html#usage
Однако у меня есть 2 проблемы с этим подходом:
- Они используют
flush
, чтобы показать, что запрос был выполнен. Я не могу войти в приложение и вручную flush
, чтобы увидеть, как идут запросы, это было бы безумно.
- Они не показывают никакого механизма уведомлений, когда мы получаем ответы или ошибки.
Итак, у меня простой вопрос:
- Как я могу получить асинхронное уведомление о том, что мой запрос не выполнен или успешно выполнен?
Я предполагаю, что по умолчанию HTTPoison.get
является синхронным, как показано в документации.