问题标签 [drb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - 从 Ruboto 访问网络
我正在尝试将来自 Android 的 Ruby-DRb-Messages 与 Ruboto 一起使用。我遇到了从 Ruboto 访问网络的问题,但没有找到任何示例或文档来解决此问题。
这是我的示例(我使用了 Ruboto QuickStartActivity 并尝试添加我的东西):
如果我使用两台 Linux 机器(DRb-Server 和 DRb-Client),DRb-stuff 可以通过网络正常工作。但是,如果我尝试上面的代码,logcat 会显示:
我的 Android 清单包括:
根据其他帖子(How to fix android.os.NetworkOnMainThreadException?)我读到,这个错误被抛出,因为在 Android 中无法使用主线程中的网络。
但是如何在 Ruboto 端解决这个问题以使 DRb 正常工作?
ruby - DRb -- 通过 JSON 编组以容纳非 ruby 远程对象
我需要几种进程类型之间的通信,其中大部分是 ruby 进程,但我需要与之通信的一个非常重要的进程类型是 python 进程。
我遇到了 DRb,我认为它可能适合作为使用我自己的通信协议的替代方案。
我想知道,是否有一种直接的方法来适应 python 进程类型。
python 进程类型只需要响应类型的消息
message_id, *JSONifiable_params
。
换句话说,我想做类似(在红宝石中)的事情:
python_server = DRbObject.new_with_uri(PYTHON_SERVER_URI, marshalling: :json)
然后在 python 中,处理为我希望它支持的方法调用发送的任何 JSON。
ruby-on-rails - Ruby 不断消耗外部 API 并跨进程共享输出
我正在用 ruby 编写交易机器人,我需要不断地根据 Exchange 的多个守护进程(守护进程 gem)的订单簿深度数据进行一些计算。
问题是现在我在每个守护进程中分别通过 Exchange 的 API 获取数据,所以我遇到了 API 调用限制(40 个请求/秒)。这就是为什么我试图利用 ruby Drb 在多个进程(守护进程)之间共享订单簿数据,以便不发送不必要的 API 调用。
虽然我不确定如何在服务器端持续使用 API 并向客户端进程提供最新的实际数据。在下面的示例代码中,客户端将在我启动服务器时获取实际数据
server_daemon.rb
client_daemon.rb
ruby - Ruby DRb - 线程安全
我正在研究多进程文件处理脚本。在尝试了线程/分叉之后,我发现了 IPC(管道/套接字)以及最后但并非最不重要的 DRb。它似乎是所有选项中功能最强大且相对用户友好的。
我正在阅读关于线程安全的文章: https ://en.wikibooks.org/wiki/Ruby_Programming/Standard_Library/DRb
但是当我尝试他们的示例时,我似乎没有得到线程安全的结果。
线程安全服务器:
客户:
我首先在后台运行服务器代码。我后来两次启动客户端代码:
现在我希望在文件 1.txt 和 2.txt 中看到不同的数字,因为每个客户端都控制了计数器并且在执行增量之前不会释放它。
我错过了什么明显的问题?:)
ruby-on-rails - RSpec 无法运行 --bisect,出现错误:未定义的方法 `run' for #
我目前正在从 Rails 3 升级一个相当大的 Rails 应用程序——> Rails 4(或者可能是 5)。
我目前正处于我有一个Rails v4.0.13
应用程序运行在Ruby v2.1.5
. 测试套件正在运行RSpec v3.5.2
,并且是绿色的(哇哦!),但不幸的是出现了一些间歇性故障。
理想情况下,我希望在进一步升级之前使用rspec --bisect追踪这些失败的原因。
但是,当我运行rspec --bisect
(带或不带其他参数)时,我收到以下错误:
有没有人知道可能导致这种情况的原因,或者我如何能够找到原因?
到目前为止,我尝试了一些事情,但无济于事:
- 将 rspec 降级到较低版本(
>= 3.3.0
,因为那--bisect
是添加的时间)。 - 将 ruby 升级到更高版本(即
2.3.1
)。(这会导致一些我尚未解决的测试失败,但仍然不会影响这个--bisect
问题)。 - 使用 ,清理系统
rvm gemset empty <project_name>; gem install bunder; bundle
以清除周围的所有升级前库代码。
还值得注意的是,我在这台计算机上还有其他Rails 项目,它们运行--bisect
得很好——所以我不认为这可能是系统库兼容性问题。我想这一定与项目配置有关——但是什么?!(我什至看不到应用程序回溯的线索??)
编辑:还没有找到解决方案,我继续升级应用程序。它现在正在运行Rails v4.2.7
,Ruby v2.3.1
并且所有规格都通过了(但仍然存在一些订购问题)。运行时的错误信息rspec --bisect
保持不变。
ruby - 如何在 Windows 中与其他方法同时启动 Drb 服务
我想在 Windows 系统上startdrb
同时运行该方法和该方法。printstuff
我搞砸了,Thread.new
但服务在线程完成后启动和终止。
这要怎么写?