问题标签 [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.

0 投票
2 回答
235 浏览

ruby - is_a? 和 dRuby 对象

我正在使用 dRuby,基本上我正在调用一个返回对象的远程方法。

在客户端我有这个代码:

其中 response 是 DRbObject。(我在使用 dRuby 之前开发了这段代码,如果出现问题,我将返回一个 Error 对象)。问题是现在

返回“false”,因为该对象实际上是一个 DRbObject。关于如何检查应用程序对象的类的任何想法?

谢谢!罗伯托

0 投票
3 回答
1428 浏览

ruby-on-rails - drb 和“被回收对象”异常

我遇到了一个奇怪的问题。我的控制器调用了一个 drb 对象

这个 Drb 对象正在做一些搜索。

但有时,在 linux 环境中,我通过这个堆栈跟踪得到一个“0xdba87b30 是回收对象”

奇怪的是,我无法在我的(Windows)开发机器中重现该错误,但我只能在我的 linux 测试服务器中得到它(我的机器中有 2 个杂种而不是一个)。

怎么了?我认为这是一个垃圾收集器问题(在重用之前收集了对象),但我不明白我在哪里做错了。我只是在我的控制器中创建对象并在其上调用一个方法。

任何的想法?

谢谢!罗伯托

0 投票
1 回答
1014 浏览

ruby-on-rails - 在 Rails 应用程序中初始化 DRb 服务的正确位置在哪里?

我在 Rails 应用程序中使用 DRb 来卸载 Rails 进程之外的昂贵任务。在使用 DRbObject.new 初始化客户端存根之前,需要使用 DRb.start_service 初始化 DRb 服务。

在模型或控制器中执行此操作似乎会使线程处于不确定状态。当我退出杂种时,它说:

Reaping 1 threads for slow workers because of 'shutdown' Waiting for 1 requests to finish, could take 60 seconds.

在 environment.rb 中初始化服务似乎可以正常工作,但有一个很大的警告:我也在使用 backgroundrb 和一些 rails 工作人员。当它们初始化时,它们运行 environment.rb 并再次由于双重初始化而导致问题。

在客户端调用 DRb.start_service 的正确位置在哪里?或者,有没有办法测试初始化​​,这样我就可以避免为同一个过程做两次?

0 投票
2 回答
884 浏览

ruby-on-rails - DRb 的可靠性如何?

在使用DRb实现内存中的消息队列和同步进程之间的操作时,是否有任何问题需要考虑?我听说它可能不可靠,但在网上没有找到任何证实这一说法的东西。

如果相关,这些将是在 Rails 应用程序环境中运行的进程,它将更新数据库中的模型。

0 投票
0 回答
405 浏览

ruby - DRb.start_service 是线程安全的吗?

我在尝试从 3 个独立的分叉进程中执行 DRb.start_service 时遇到问题,DRb.start_service 线程/进程安全吗?

在 3 个进程中,2 个启动 DRb 服务器正常,第 3 个在 DRb.start_service 行永远挂起,我想知道这是 DRb 的限制,还是代码中其他地方的问题。

0 投票
1 回答
1176 浏览

ruby - 线程还是 DRb?

我需要有 2 个(或者可能是 3 个)在 Ruby 中连续运行程序的“方面”——一个通信线程、一个渲染线程,也许还有一个缓存线程。

这个想法是渲染线程显示幻灯片(其定义是从文件中读取的),并且所有幻灯片都由通信线程从远程 HTTP 服务器检索。渲染必须连续且不间断(因此可能需要缓存)。该文件可能会在程序的生命周期中发生变化,因此需要重新解析(动态)。

我想在“方面”之间发送消息,例如当通信线程获取节目的整个“章节”时,渲染线程可以在等待整个节目下载之前启动,等等。

我应该使用 Ruby 线程还是 DRb?如何在线程之间传递消息?

感谢您的任何反馈!

0 投票
6 回答
958 浏览

python - 有没有类似于分布式 Ruby 的 Python 模块

我是 Python 新手。只是想知道python中有没有类似于ruby的drb的模块?像客户端可以使用drb服务器提供的对象吗?

0 投票
2 回答
564 浏览

ruby-on-rails - 我应该为这个网站应用程序使用 Rails 还是 Ruby?如何?

我对 Web 编程很陌生(或者实际上,对它很老,因为我上次搞砸 Web 是 HTML 1.1),但现在需要快速部署一个 Web 应用程序。似乎每次我转身,都有新的首字母缩写词和技术需要学习(JSON、XMLRPC、GWT、Javascript、Rails 等)。

这是我的应用程序必须执行的操作:

  1. 给定用户名和密码,进行身份验证(很简单,显然,一切都这样做)。
  2. 允许用户上传大量数据进行处理。
  3. 处理该数据。
  4. 允许用户下载他们处理过的数据。

我已经有了 Java 脚本和用于处理数据的数据库。在一台机器上,我可以运行一系列命令行程序来处理传入的数据块并将结果放回 mysql 数据库。这已经存在并且正在工作。

我想使用这些现有的和经过测试的方法为这个任务构建一个 Web 前端。我目前倾向于这种方法:

  1. 有两台机器,一台数据库机器和一台网络服务器。如果需要,这种方法允许以后的可扩展性,但也要求我不能假设我用来访问数据和操作数据的程序是本地存储的。
  2. 使用Ruby DRb应用程序创建服务器和客户端。客户端将数据传递给服务器,服务器依次调用这些应用程序。
  3. 使用其他一些 Ruby 接口与 Web 前端的 DRb 进行交互。

这是我的问题:看起来大多数 Web 的 Ruby 应用程序会自动尝试构建某种本地数据库。我发现的所有Rails 教程都是从创建自己的数据库并与之交互开始的,这正是我不想做的。

Rails 是适合我的技术,还是使用 Ruby DRb?还有其他一些我应该探索的技术吗?

如果 Rails 或 Ruby 在这里是正确的,我应该看什么?我已经有了Programming Ruby这本书,并且已经将它用于一些后端的东西以及让基本的 DRb 东西正常工作。

0 投票
0 回答
337 浏览

ruby - 使用 UPnP 的客户端/服务器如何在 Ruby 中工作?

我想允许路由器后面的两台计算机使用 Ruby 在服务器/客户端设置中共享文件;我已经研究了 Ruby 的UPnP 实现,但在我看来,文档相当差,并且没有提供对该库的太多解释。有人可以举一个基本示例,说明路由器后面的服务器和客户端如何使用 UPnP 与 DRB 一起工作?

谢谢!

0 投票
2 回答
955 浏览

ruby - 停止分布式 Ruby 服务

我有一个启动 DRb 服务的脚本,然后生成一个处理程序对象并通过DRb.thread.join. 我希望脚本一直运行到被明确杀死,所以我添加了

它成功停止了 DRb 服务并在 Ruby 1.8 下退出,但在 1.9 下似乎死锁(在 OS X 10.6.7 上)。对该过程进行采样显示有几个线程正在旋转semaphore_wait_signal_trap

我认为我打电话的方式有问题stop_service,但我不确定是什么。谁能给我任何关于如何正确进行的指示?