加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Resque ..如何获得队列列表

发布时间:2020-12-17 04:04:43 所属栏目:百科 来源:网络整理
导读:好的..在heroku上我有24个工人(据我所知) 我说1000个客户.每个在 postgresql数据库中都有自己的“架构”. 每个客户都有可以“以后”完成的任务.向我的公司发送订单后端,就是一个很好的例子. 我在想我可以为每个客户端创建一个新队列,每个队列都有自己的工作
好的..在heroku上我有24个工人(据我所知)
我说1000个客户.每个在 postgresql数据库中都有自己的“架构”.

每个客户都有可以“以后”完成的任务.向我的公司发送订单后端,就是一个很好的例子.

我在想我可以为每个客户端创建一个新队列,每个队列都有自己的工作者(进程).这似乎不在卡片中.

好吧..我现在的想法是在客户记录中有一个队列字段..
所以客户端1到15在queue_a中
并且客户端16到106在queue_b .. ect如果一个客户端正在使用堆,我们可以将它们移动到新队列,或者将其他客户端移出缓慢的队列.可以收集低排量的客户……这将是一种平衡行为,但如果我们跟踪指标(我们无论如何都会),它就不会那么难以管理

(任何反击的想法都会很棒,我真的在吐球阶段)

但是现在.我想弄清楚如何为每个队列创建一个worker.
https://gist.github.com/486161告诉我如何创建X worker,但实际上并没有让我将worker设置为Queue.如果我知道这一点,以及如何获得队列列表,我想我正在走向可行的解决方案.

阅读onhttp://blog.winfieldpeterson.com/2012/02/17/resque-queue-priority/
我意识到我的计划充满了艰辛.第一个被添加到工人的客户/队列将获得优先权……我不希望这样,我希望他们都有相同的.只要它们是同一队列的一部分..

解决方法

我只是坚持主题:)

在resque中获取所有队列非常容易

Resque.queues

是所有队列名称的列表,它不包括’失败’队列,我做了这样的事情

(['failed'] + Resque.queues).each do |queue|
  queue_size = queue=='failed' ? Resque::Failure.count : Resque.size(queue)
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读