看下面的工作,我会假设该工作在一个low_priority
队列上运行。
class GuestsCleanupJob < ActiveJob::Base
queue_as :low_priority
#....
end
我同意这一点,但这只是队列的名称对吗?它实际上与优先级无关。例如,如果我创建了一个命名为:my_queue
的作业,它将被视为具有与:low_priority
队列相同的优先级。
根据文档,我还没有找到任何表明我可以设置排队的作业优先级的内容。我知道delayed_jobs有此功能,但我在active_job中没有找到它。
handle_asynchronously :send_mailer, :priority => 20
。对于sidekiq,我可以看到它是可能的,因为你可以在配置文件中设置队列和优先级。Delayed job似乎没有这个功能。我的问题是如何使用ActiveJob这个抽象层来设置优先级...是否可以通过ActiveJob实现,还是必须使用delayed_job?查看ActiveJob中的delayed_job适配器,似乎不可能实现这一点。我不确定还有什么其他的话可以更清楚地表达。 - Ryan-Neal Mes