【问题标题】:Ruby and Resque ConcurrencyRuby 和 Resque 并发
【发布时间】:2013-06-19 17:21:41
【问题描述】:

我正在尝试了解 resque 的设计和工作方式。我知道它在 Redis 中存储 JSON 对象,但 Redis 只是一个非常快速的键值数据库。这与并发有什么关系? resque 是否只是创建其他系统进程?如何? Windows 不支持“fork”。它只是产生线程吗?

谢谢

【问题讨论】:

  • 是的,resque 分叉子进程。我不知道它是否适用于Windows。
  • 你的意思是像系统进程?
  • 是的,操作系统术语中的进程

标签: ruby resque


【解决方案1】:

Resque 基本上生成/复制您的 Rails 环境并在新进程中运行。

然后它使用 redis 在您配置的队列中查找要执行的作业。 它使用给定的参数评估在队列中找到的对象(回答“执行”消息)。

【讨论】:

  • 如果我在 rails 之外使用 resque 怎么办?那可能吗?它会产生红宝石进程吗?它是如何在 Windows 上分叉的? O_o
  • 是的,您可以在 Rails 之外运行它。我不确定它在 Windows 上是如何工作的。是的,你是对的,它是内存昂贵。您通常会在专门用于 Resque 作业的单独机器上运行 Resque。 Sidekiq 是另一种更快且内存占用更少的不同方法。您可能想尝试一下:sidekiq.org
  • 当然,您可以从消化大文件的批处理脚本或 sinatra 应用程序中将 Resque 作业排入队列。 Resque 工人本身是通过 rake 任务产生的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-05
  • 2021-05-06
  • 1970-01-01
相关资源
最近更新 更多