问题标签 [resque]

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 投票
1 回答
126 浏览

ruby-on-rails - 有没有一种简单的方法来处理 BJ 并发

有没有办法在 BJ 中设置作业并确保某个“类型”的 2 个没有同时运行?

我们正在运行 24 只独角兽,它将允许 BJ 为其中的每一个启动。这不是什么大不了的 b/c 我们喜欢多个作业处理程序淘汰后台任务。数据导入例外。我们希望能够告诉它一次不要运行超过一个。

这在 BJ 中是否可能,还是我们应该转向类似 resque 的东西?

0 投票
2 回答
892 浏览

ruby-on-rails - 如何使用后台工作人员保存记录?

如果我将大于 5mb 的视频文件保存到服务器上。我应该创建一个后台作业来保存这个文件吗?

这应该怎么做?我的视频模型有标题、描述和附件列/字段。各个领域都需要。

在 def create 中,我不应该做"if @video.save",而应该做类似"if Resque.enqueue(Save, @video)" 的事情

我不确定如何做到这一点,因为将参数传递给 Resque.enqueue() 会将其转换为哈希。其次,使用 " "if Resque.enqueue(Save, @video)" ",期望 true 或 false。然而,Resque.enqueue 不能返回任何东西。还是我错了?

按钮线是。使用 resque + redis 的后台工作人员保存记录的适当方法是什么?

理想情况下,我认为它应该类似于:

你怎么认为?

0 投票
2 回答
2106 浏览

ruby-on-rails - resque 如何从队列中删除作业?

我已经在我的 rails 应用程序中实现了 resque 排队系统。我想知道从入队到从队列中删除的 resque 作业流程。

传统的工作流程以及从 gem 中使用的方法是,
1. Resque 将作业入队(Resque::Job.create),
2. 作业调用类的“执行”方法(Resque::Job.perform),以及
3. Resque 从队列中删除作业。

我调试 gem 找出步骤 3 中使用的方法,但我找不到它。正如我调试的那样,方法 Resque::Job.destroy、Resque::Job.dequeue 不负责此任务。谁能告诉我从队列中删除作业的方法

请注意,我不想明确删除作业,我想要从队列中删除作业的典型 resque 方法。

提前致谢。

0 投票
3 回答
5753 浏览

ruby-on-rails - 如何为 Rails 中的 Resque 的所有作业指定一个默认队列?

除非另有说明,否则我希望所有入队调用都默认为某个队列,因此它是干燥的并且更易于维护。为了指定一个队列,文档说要在类中定义一个变量@queue = X。所以,我尝试执行以下操作,但没有成功,有什么想法吗?

0 投票
3 回答
8384 浏览

rspec - 如何使用 Resque 与 Rspec 示例连接测试?

在将 Resque 与 Rspec 示例并行实施时,我感到困惑。下面是一个方法昂贵的.generate(self) 类类 SomeClass ... ChangeGenerator.generate(self) ... end

实现resque后,上面的类改成下面这样,增加了一个ChangeRecorderJob类。

它完美地工作。但我有两个担忧。

之前,我的示例规范用于测试整个.generate(self)方法堆栈。但是现在既然我把它推到了 Resque 的工作中,我如何才能在不隔离的情况下连接我的示例以使相同的测试成为绿色?还是我必须隔离测试?

最后,如果我有 10 个工作要入队,我是否必须使用self.perform方法创建 10 个单独的工作类?

0 投票
2 回答
1106 浏览

ruby-on-rails - 使用 `rails server` 命令启动所需的附加服务(resque、redis)

我希望我的 Rails 开发环境在以下情况下为我自动启动 redis 和 resque(可能在其他项目中,mongod、mysql-server 等):

  • 启动开发服务器时rails server

此外,如果以下情况检测到已经运行的服务,并且如果没有运行也启动它们,那就太好了:

  • 运行测试时,Rake rspec、rspec /spec。
  • 当启动一个rails console.

关闭时rails server,启动的子服务也应该关闭。

此类附加启动脚本的正确位置是什么?

以及如何避免它们也在生产中启动(我通过 /etc/init.d 服务运行所有内容)?

0 投票
1 回答
548 浏览

sinatra - resque 工人负荷分配不公平

我有一个由 ActiveRecord 支持的 Resque Job,它将发布消息保存到数据库中。运行 7 个工作程序实例。我将 20K 记录发送到我的 sinatra 应用程序。当我查询redis数据库时,我看到以下结果......

有人可以评论吗?7 名工人中有 4 人一生只处理了 1 份工作

0 投票
1 回答
2035 浏览

ruby-on-rails-3 - Resque Web 界面加载错误

我已经使用本教程在 Rails 3 中安装了 Resque 。

问题是当我尝试使用 Resque Web 界面时。当我去时{localhost}/resque/,浏览器被重定向到{localhost}/resque/resque/overview/true/false本质上不存在的。但是{localhost}/resque/overview似乎打开了正确的界面,尽管链接已断开。(就像再次点击 stats 将我重定向到{localhost}/resque/resque/stats/resque/true/false,这又不存在了)

这是我的 config.ru 文件:

0 投票
1 回答
9769 浏览

file-descriptor - resque-web 出错:无法获取引用控制台的文件描述符

我正在尝试启动 resque-web,但出现此错误:

Ubuntu 10.04 和 10.10 出现此错误。

Resque Web 仅以-F选项开头(不要守护进程,在前台运行)。因此,当进程被守护进程时,它必须是一些东西。

任何想法,我该如何解决?

问候,

0 投票
1 回答
1628 浏览

ruby-on-rails - 无法使 Resque 工作

我正在尝试使 Resque 与我的项目一起工作,但不幸的是,由于某些原因,Resque 似乎无法在 Redis 上编写代码。

Redis 似乎配置正确,我可以连接 redis-cli 并发出命令,在我的 Rails 3.0.5 应用程序中配置的端口 6379 上运行。当我尝试 Resque 排队时,作业已排队,但 Redis 上似乎并没有实际发生任何事情(0 个客户端连接到我的 Redis 日志中)。当我重新启动控制台时,队列是空的,没有工作人员在运行。

一切都默默地失败了,我的 Rails 日志中什么都没有,控制台上什么都没有,如果我启动一个工作人员,它什么都没有,它只是(显然)找不到任何工作来执行。

https://gist.github.com/867620

有关如何修复或调试此问题的任何建议?