- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
你好
我将建立一个 rails 网站,在其中进行一些初始用户输入后,将完成一些繁重的计算(通过对 ruby 的 c 扩展,将使用多线程)。由于这些计算将消耗几乎所有的 CPU 时间(也包括内存),因此一次运行的计算不应超过一个。我也不能使用(异步)后台作业(比如延迟作业),因为 rails 必须显示该计算的结果,并且该站点应该在没有 javascript 的情况下工作。
所以我想我需要一个单独的进程,其中所有 Rails 实例都必须将它们的计算请求排队并等待答案(如果队列已满,可能会出现错误消息),一种同步作业管理器。
有谁知道是否有具有这种功能的 gem/插件?(nanite 对我来说似乎很酷,但似乎只是异步的,所以 Rails 实例不知道计算何时完成。对吗?)
另一个想法是使用分布式 ruby (drb) 编写我自己的想法,但如果轮子已经存在,为什么还要再发明轮子呢?
如有任何帮助,我们将不胜感激!
编辑:由于 zaius 的提示,我认为我可以异步执行此操作,所以我将尝试 resque .
最佳答案
Ruby 有互斥量/信号量。
您可以使用信号量来确保只有一个资源密集型进程在同一时间发生。
但是,在其他任务完成时阻塞前端进程的想法对我来说似乎并不合适。如果我这样做,我会使用后台工作程序,然后使用带有刷新元标记的页面(或 iframe)来持续检查进度。
这样,您可以为启用和禁用 javascript 的客户端使用相同的代码。而且您的 Web 应用程序线程不会阻塞。
关于ruby-on-rails - Ruby/Rails 同步作业管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4674151/
我有类似 backupify 的服务.从不同的社交媒体平台下载数据,目前我有大约 2500 个活跃用户,每个用户运行一个脚本,从 facebook 获取数据并将它们存储在 Amazon S3 上,我的
我想要在 PHP 项目中进行类似 cron 的简单管理我想要一些东西: php job worker 只是放置在项目目录中某个子目录中的普通脚本 项目根目录下有/cron/daily、/cron/mo
我是一名优秀的程序员,十分优秀!