我目前有一个Rails 3.0项目,使用Ruby 1.9.2和Resque。
我的应用程序有多个工作类和多个队列,这些队列是在运行时动态创建的。此外,有多个工作者开始自由地在任何队列上工作,因为在启动时并不存在任何现有队列,并且它们无法预测:
我的应用程序有多个工作类和多个队列,这些队列是在运行时动态创建的。此外,有多个工作者开始自由地在任何队列上工作,因为在启动时并不存在任何现有队列,并且它们无法预测:
$ COUNT=3 QUEUE=* rake resque:workers
队列是基于项目
的ID创建的:
@queue = "project_#{project.id}".to_sym
对于给定的队列,它们的任务必须按顺序一个接一个地处理。我的问题是,通过有多个工作者,会并行处理多个作业。
有没有一种方法可以设置每个队列的最大工作者数量(为1)?有没有一种方法可以在处理作业时锁定队列?
谢谢!