我正在使用PyRserve。我想从多个运行的python进程执行一些R评估。所有这些评估都需要使用相同的全局变量,因此如果每个新连接在仅定义一次后才能使用这些变量,则可以节省大量时间。请注意,每次连接重新定义这些都不是一个选项,因为这很耗时(因为某些变量是从文件加载的模型)。有没有办法让多个PyRserve连接共享某些变量?如果不是这里有什么好的解决方法?
我在文档中找不到任何确定的内容。
答案 0 :(得分:0)
从pyRserve documentation看来,共享内存对象似乎不能被分配给连接名称空间:
在其当前实现中,pyRserve允许设置和访问 以下基类型:
- 无(NULL)
- 布尔
- 整数(仅限32位)
- 浮点数(仅64位),即双打
- 复数
- 字符串
此外,还支持以下容器:
- 列表
- numpy arrays
- TaggedList
- AttrArray
- TaggedArray
如果要为每个连接生成一个工作进程,我会引导您进入python multiprocessing库,它为您提供简单类型的共享内存对象,以及mp.Manager下的更高级别的托管对象类。
*实际上我可能没有测试过这个...