ruby-on-rails - 在resque队列中查找特定作业

标签 ruby-on-rails ruby redis resque

在我的应用程序中,我使用 Resque 来调整图像大小。如果图像在调整大小队列中,我想显示一个“调整图像大小”图标。

这意味着我需要能够在队列中找到与特定模型 ID 相关的所有当前作业。现在我这样做:

Resque.peek(:resize, 0, 100).find_all { |job| /#{model.id}/.match(job["args"][0]) }

这是愚蠢的。但是有什么方法可以查询 Resque 队列以找到所有 first argument 等于 [id] 的作业?

提前致谢。

最佳答案

resque-status一试。它是 Resque 的扩展,添加了作业跟踪。

resque-status provides a set of simple classes that extend resque’s default functionality (with 0% monkey patching) to give apps a way to track specific job instances and their status. It achieves this by giving job instances UUID’s and allowing the job instances to report their status from within their iterations.

备注:d11wtq上面提到这个作为评论,但实际上是迄今为止最好的答案

关于ruby-on-rails - 在resque队列中查找特定作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10405235/

相关文章:

php - 移除 Laravel 的 redis

redis - 在 Redis 中只存储 ID?

ruby-on-rails - Action Mailer around_action 回调

ruby-on-rails - 实例化YouTube_It gem Client,并获得了许多 token

ruby-on-rails - 1 个错误禁止保存此书

ruby-on-rails - "stack level too deep"编译 Assets 时

ruby-on-rails - rails 将字符串转换为数字

ruby-on-rails - 在 rails i18n 语言环境文件中使用 YAML block

ruby-on-rails - 对 Rails 工作流实现有何建议?

caching - 在 Redis 中构建这样的数据是否可行且经济?