Синхронный POST с http-kit в ближайшем будущем

Я пытаюсь использовать клиентскую библиотеку http-kit в clojure, чтобы делать синхронные сообщения, возвращающие обещания. Есть ли способ ограничить количество потоков, делающих фактическое сообщение?

Все примеры использования встроенного пула потоков, которые я мог найти, используют примитивную функцию более низкого уровня, называемую request но все они были для http/get.

Спасибо

1 ответ

Я предполагаю, что вы видели http://http-kit.org/client.html

Мой вопрос: вы хотите сделать синхронный POST или ограничить количество потоков? Вы можете выполнить синхронизацию POST со 100 потоками, так получается, что ваш основной поток будет ожидать возврата запроса.

Может быть, более важно, почему вы хотите ограничить количество потоков?

Также см. https://github.com/http-kit/http-kit/blob/master/src/org/httpkit/client.clj, в частности request, Вы можете обработать карту аргументов, например, {:url "http://yoursite.com" :worker-pool my-thread-pool-executor}

my-thread-pool-executor должен расширить ExecutorService.

В частности, вам нужно перегрузить submit это то, что RespListener использует в http-kit. Вы могли бы сделать submit синхронно с вашей собственной реализацией ExecutorService, поэтому он работает в том же потоке.

Другие вопросы по тегам