Установка приоритета с ActiveJob при использовании Delayed :: Job - PullRequest
0 голосов
/ 18 мая 2018

Как установить приоритет отложенного задания при использовании ActiveJob для постановки в очередь ваших заданий?

class GuestsCleanupJob < ApplicationJob
  queue_as :high_priority

  def perform(*guests)
    # Do something later
  end
end

Ответы [ 2 ]

0 голосов
/ 19 июля 2019

Решение, использующее Delayed :: Worker.queue_attributes, выглядит нормально и задокументировано, но у меня не сработало ... Все задания имели приоритет = 0 независимо от приоритета очереди, установленного в queue_attributes.Это сработало для меня:

class GuestsCleanupJob < ApplicationJob
  queue_as :high_priority

  def priority
    1
  end

  def perform(*guests)
    # Do something later
  end
end
0 голосов
/ 18 мая 2018

Это заняло у меня некоторое время, но я нашел этот метод в документации Delayed :: Job:

Delayed::Worker.queue_attributes = {
  default:       { priority: 11 },
  high_priority: { priority: 1 },
  low_priority:  { priority: 75 }
}

Я добавил это в свои инициализаторы и просто хотел поделиться, если кто-то еще столкнется с этим!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...