一点上下文:我正在写一个股票回购测试程序,该程序订阅了一个websocket提要,该提要在1分钟内流式传输100多只股票的数据。由于这是一个反向测试程序,它实际上是由我的本地数据提供的。
我正试图利用Ray进行多处理。
因此,它将在本地循环中接收库存数据,例如,a、B、C。。。。A、 B、C……持续到时间段结束。目前,我对Ray的设置是对每个股票数据异步调用handleStock.remote()
。出于性能原因,每次它处理相同的库存但不同的时间,都应该有一些缓存来帮助更快地处理。但由于每次库存都是作为Ray中的一个全新进程/工作程序运行的,我无法共享内存并向其写入。我尝试了Rayput
方法,但它是只读的。
有没有办法解决这个问题,或者用不同的工具来运行这个反向测试?
Ray对象存储值意味着第一个写入程序获胜。这里的一个潜在选项是将数据存储在actor中,而不是存储在对象存储中。
如果您确实需要返回对象,并且性能很重要,那么可以将操作分解为2个异步操作。
- 执行计算
- 返回结果