使用PyRserve与共享内存建立多个连接

时间:2015-07-06 11:21:21

标签: python r rserve pyrserve

我正在使用PyRserve。我想从多个运行的python进程执行一些R评估。所有这些评估都需要使用相同的全局变量,因此如果每个新连接在仅定义一次后才能使用这些变量,则可以节省大量时间。请注意,每次连接重新定义这些都不是一个选项,因为这很耗时(因为某些变量是从文件加载的模型)。有没有办法让多个PyRserve连接共享某些变量?如果不是这里有什么好的解决方法?

我在文档中找不到任何确定的内容。

1 个答案:

答案 0 :(得分:0)

从pyRserve documentation看来,共享内存对象似乎不能被分配给连接名称空间:

  

在其当前实现中,pyRserve允许设置和访问   以下基类型:

     
      
  • 无(NULL)
  •   
  • 布尔
  •   
  • 整数(仅限32位)
  •   
  • 浮点数(仅64位),即双打
  •   
  • 复数
  •   
  • 字符串
  •   
     

此外,还支持以下容器:

     
      
  • 列表
  •   
  • numpy arrays
  •   
  • TaggedList
  •   
  • AttrArray
  •   
  • TaggedArray
  •   

如果要为每个连接生成一个工作进程,我会引导您进入python multiprocessing库,它为您提供简单类型的共享内存对象,以及mp.Manager下的更高级别的托管对象类。

*实际上我可能没有测试过这个...