我不是指多个进程,而是指单独的实例。我认为。我可能会以这种错误的方式去做。有没有办法在Rails中运行DelayedJob的多个实例?
现在dj在我的应用程序中处理2件事情:报告和图像处理/上传。问题是,人们可以随时创建一大堆报告作业,并且在所有这些报告运行之前,都没有剩余的进程来执行这些图像。
我该如何设置DelayedJob,以便始终至少有一个proc专用于特定功能?
这是collectiveeda的DelayedJob的分支,运行在Rails 2.3.8上。
我不是指多个进程,而是指单独的实例。我认为。我可能会以这种错误的方式去做。有没有办法在Rails中运行DelayedJob的多个实例?
现在dj在我的应用程序中处理2件事情:报告和图像处理/上传。问题是,人们可以随时创建一大堆报告作业,并且在所有这些报告运行之前,都没有剩余的进程来执行这些图像。
我该如何设置DelayedJob,以便始终至少有一个proc专用于特定功能?
这是collectiveeda的DelayedJob的分支,运行在Rails 2.3.8上。
您可以为可能解决您问题的延迟作业设置优先级。将报告作业设置为低于图像处理的优先级,并且只有在没有要处理的图像时才会完成报告作业。
使用handle_asynchronously
具有优先覆盖在readme但语法基本上是:
handle_asynchronously :my_method, :priority => 5
默认情况下,一切都是零优先级是最高优先级。
DelayedJob 3.0.0pre支持命名队列,因此您可以为通过不同队列的作业创建工作池。