1

我正在用 ruby​​ 编写交易机器人,我需要不断地根据 Exchange 的多个守护进程(守护进程 gem)的订单簿深度数据进行一些计算。

问题是现在我在每个守护进程中分别通过 Exchange 的 API 获取数据,所以我遇到了 API 调用限制(40 个请求/秒)。这就是为什么我试图利用 ruby​​ Drb 在多个进程(守护进程)之间共享订单簿数据,以便不发送不必要的 API 调用。

虽然我不确定如何在服务器端持续使用 API 并向客户端进程提供最新的实际数据。在下面的示例代码中,客户端将在我启动服务器时获取实际数据

server_daemon.rb

require 'drb'    
exchange = exchange.new api_key: ENV['APIKEY'], secret_key: ENV['SECRET']
shared_orderbook = exchange.orderbook limit: 50
DRb.start_service('druby://127.0.0.1:61676', shared_orderbook)
puts 'Listening for connection… '
DRb.thread.join

client_daemon.rb

require 'drb'
DRb.start_service
puts shared_data = DRbObject.new_with_uri('druby://127.0.0.1:61676')
4

0 回答 0