Hen*_*bon 7 ruby resque ruby-on-rails-3 ruby-1.9.2
我目前有一个Rails 3.0项目,Ruby 1.9.2和Resque.
我的应用程序有多个工作类和多个队列,它们是动态创建的(在运行时).此外,还有多个工作人员可以在任何队列上自由工作,因为在开始时没有任何现有队列,并且无法预测:
$ COUNT=3 QUEUE=* rake resque:workers
Run Code Online (Sandbox Code Playgroud)
根据project
id 创建的队列:
@queue = "project_#{project.id}".to_sym
Run Code Online (Sandbox Code Playgroud)
对于给定的队列,他们的工作必须按顺序处理,一次处理一个.我的问题是,通过拥有多个工作人员,可以并行处理多个工作.
有没有办法设置每个队列的最大工作数(为1)?有没有办法在作业处理时锁定队列?
谢谢!
我终于找到了一个非常简单的解决方案,使用 resque-retry 和存储在 redis 中的锁(我是为用户这样做,只是为项目这样做): https: //stackoverflow.com/a/10933666/745266
归档时间: |
|
查看次数: |
3202 次 |
最近记录: |