【问题标题】:Rserve - Multiple instances on one server?Rserve - 一台服务器上有多个实例?
【发布时间】:2023-03-31 22:40:02
【问题描述】:

是否可以同时在一台服务器上运行多个 Rserve 实例?

例如 10 个实例意味着 10 个单独的 R 工作区通过 Rserve 在同一台机器上监听不同的端口?

【问题讨论】:

    标签: r rserve


    【解决方案1】:

    在@Oleksandr 指定的同一文档中,它在第 5-6 页明确指出,在 Windows 中,有一个替代解决方案:

    不要运行 1 个 Rserve 进程,而是启动多个 Rserve 进程,每个进程都在不同的端口上(可以在 rserve 命令中轻松指定)。每个 Rserve 进程都有自己的环境。 使用 1 个唯一的 Rserve 连接连接应用程序的 1 个线程:然后您可以在应用程序中利用并行性。

    所以你的问题的答案是:是的,你可以。

    我已经使用 C# 应用程序对此进行了测试,并且可以正常工作。 你可以使用这样的库:https://github.com/kent37/RserveCLI2

    2015 年 8 月 4 日编辑: 我们现在在(Windows)生产应用程序中有效地使用它,即从 C# 代码库调用 R 代码执行统计分析。我们使用 RServe 和 RServeCLI 在两个代码库之间进行连接和通信。为了以结构化的方式实现这一点,我们使用了this pattern for pooled resources。希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      如果是 Unix/Linux,答案是肯定的。 答案是否定的,如果是 Windows。 更多可以在这里找到http://www.ci.tuwien.ac.at/Conferences/DSC-2003/Proceedings/Urbanek.pdf,第 2 页明确说明。

      【讨论】:

      • 假设我在网络上运行了一个 R 会话,并且在该会话中我有一个数据框“sample_data”。现在我想在新的浏览器窗口中调用另一个函数,它将“sample_data”中的特定变量转换为新变量。我的问题是如何保留“sample_data”以便它可以在新的 R 会话中使用?我正在使用 Rserve
      • 这个答案是错误的。在 Windows 和 Linux 上,您可以让多个 Rserve 进程在不同的端口上侦听,这是 OP 要求的。但是,仅在 Linux 上,您可以在一个 Rserve 侦听器上同时运行多个连接。在 Linux 上,它会为每个连接派生一个子进程。这比让 Rserve 监听多个端口更方便。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-14
      • 1970-01-01
      • 2020-09-22
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      相关资源
      最近更新 更多