【问题标题】:Is there a way to run multiple instances of DelayedJob in Rails?有没有办法在 Rails 中运行多个 DelayedJob 实例?
【发布时间】:2011-10-01 20:32:52
【问题描述】:

我不是指多个进程,我指的是单独的实例。我认为。我可能会走错路。

现在 dj 在我的应用程序中处理两件事:报告和图像处理/上传。问题是,人们可以随时创建一大堆报告作业,并且在所有这些报告运行之前没有剩余的流程来处理图像。

如何设置 DelayedJob 以便我始终可以拥有至少一个专用于特定功能的 proc?

这是集体理念的 DelayedJob 的分支,在 Rails 2.3.8 上运行。

【问题讨论】:

    标签: ruby-on-rails delayed-job


    【解决方案1】:

    您可以为延迟的作业设置优先级,这可能会解决您的问题。将报告作业设置为低于图像处理的优先级,并且仅在没有要处理的图像时执行。

    readme 涵盖了优先使用handle_asynchronously,但语法基本上是:

    handle_asynchronously :my_method, :priority => 5
    

    默认情况下,所有内容都是零优先级,即最高优先级。

    【讨论】:

      【解决方案2】:

      DelayedJob 3.0.0pre 支持命名队列,因此您可以为来自不同队列的作业提供工作人员池。

      【讨论】:

        猜你喜欢
        • 2013-07-30
        • 1970-01-01
        • 1970-01-01
        • 2016-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-17
        • 1970-01-01
        相关资源
        最近更新 更多