关于R管道工的基本问题

Tom*_*Tom 3 r plumber

我是R管道工的新手,这是一个REST服务器,可以将R函数公开为其余的API.

我会问以下问题:

  1. R管道服务器是否足够强大,可以在生产环境中采用?
  2. 该函数,作为rest api公开,如果该函数执行复杂且耗时的逻辑,如何设置时间以保持连接活动?
  3. R管道工支持多少个并发请求?

Jef*_*len 11

(偏见:我是管道工的作者)

  1. R管道服务器是否足够强大,可以在生产环境中采用?

水管工还很年轻,但我知道现在有多个人在生产中使用水管工.这是一个这样的例子的写作:https://www.mango-solutions.com/blog/production-r-at-ons

  1. 该函数,作为rest api公开,如果该函数执行复杂且耗时的逻辑,如何设置时间以保持连接活动?

目前没有办法在特定端点上强制超时.只有API作者才能确保功能保持足够轻量级,以便能够在合理的时间内返回.否则,您需要启动一个单独的进程来处理长时间运行的任务,以便您可以快速响应传入的请求.

  1. R管道工支持多少个并发请求?

R在单线程中,所以在任何给定时刻它只能做一件事(没有特殊的解决方法).对于水管工来说也是如此.在单个R进程中运行的Plumber API在任何给定时刻只能执行一个函数/端点.其他传入请求将排队,直到R进程准备好开始处理它们.

解决方案是并行运行多个R进程,并将进入的流量负载平衡到这些进程.更多讨论:https://plumber.trestletech.com/docs/hosting/和解决方案:https://plumber.trestletech.com/docs/docker-advanced/