我不是指多个进程,我的意思是单独的实例。我认为。我可能会以错误的方式解决这个问题。
现在dj在我的应用程序中处理两件事:报告和图像处理/上传。问题是,人们可以随时创建一大堆报告作业,并且在所有这些报告运行之前,没有剩余的过程来处理图像。
如何设置DelayedJob以便我总能拥有至少一个专用于特定功能的proc?
这是在Rails 2.3.8上运行的prolideJob的集体分支。
答案 0 :(得分:2)
您可以为可能解决问题的延迟作业设置优先级。将报告作业设置为低于图像处理的优先级,只有在没有要处理的图像时才会执行它们。
readme涵盖了handle_asynchronously
优先使用的handle_asynchronously :my_method, :priority => 5
,但语法基本上是:
{{1}}
默认情况下,所有内容都是优先级为零,这是最高优先级。
答案 1 :(得分:1)
DelayedJob 3.0.0pre支持命名队列,因此您可以拥有来自不同队列的作业池。