Основные вопросы о R сантехник

Я новичок в R сантехник, который является REST-сервером, который может представить функцию R в качестве остальных API.

Я хотел бы задать следующие вопросы:

  1. Достаточно ли силен R-сервер для использования в производственной среде?
  2. Функция, которая представлена ​​как rest api. Если функция выполняет сложную и трудоемкую логику, как установить время ожидания для поддержания связи?
  3. Сколько одновременных запросов поддерживает R сантехник?

1 ответ

Решение

(Предвзятость: я автор сантехника)

  1. Достаточно ли силен R-сервер для использования в производственной среде?

Сантехник еще молодой, но я знаю многих людей, которые сейчас используют Сантехник в производстве. Вот рецензия на один такой пример: https://www.mango-solutions.com/blog/production-r-at-ons

  1. Функция, которая представлена ​​как rest api. Если функция выполняет сложную и трудоемкую логику, как установить время ожидания для поддержания связи?

В настоящее время нет способа принудительно установить тайм-аут на конкретную конечную точку. Автор API должен убедиться, что функции будут достаточно легкими, чтобы их можно было вернуть за разумное время. В противном случае вы захотите запустить отдельный процесс для обработки долгосрочной задачи, чтобы вы могли быстро ответить на входящий запрос.

  1. Сколько одновременных запросов поддерживает R сантехник?

R однопоточен, поэтому в любой момент времени он может выполнять только одну вещь (без специальных обходных путей). Это относится и к сантехнику. Ваш Plumber API, работающий в одном процессе R, может выполнять только одну функцию / конечную точку в любой момент времени. Другие входящие запросы будут помещены в очередь, пока процесс R не будет готов начать их обработку.

Решение состоит в том, чтобы запустить несколько процессов R параллельно и распределить входящий трафик этих процессов. Еще немного обсуждения: https://plumber.trestletech.com/docs/hosting/ и решение: https://plumber.trestletech.com/docs/docker-advanced/

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