Rya*_*Mes 10 ruby ruby-on-rails rails-activejob
看看下面的工作,我会假设工作在low_priority队列中运行.
class GuestsCleanupJob < ActiveJob::Base
queue_as :low_priority
#....
end
Run Code Online (Sandbox Code Playgroud)
我同意这一点,但这只是队列的名称正确吗?它实际上与优先级无关.例如,如果我创建了一个名为queue的作业,:my_queue那么它将被视为具有与:low_priority队列相同的优先级.
从文档中我无法找到任何表明我可以优先排队的工作.我知道delayed_jobs有这个功能,但我还没有在active_job中找到它.
优先级取决于实际的QueueAdapter以及如何配置此适配器.如果您的适配器不支持优先级或未正确配置,则ActiveJob也无法帮助您.
从这里了解有关适配器的更多详细信息:
http://edgeapi.rubyonrails.org/classes/ActiveJob/QueueAdapters.html
主要内容是:
重点是确保所有Rails应用程序都具有适当的作业基础结构.然后我们可以在此基础上构建框架功能和其他宝石,而不必担心各种作业运行程序(如Delayed Job和Resque)之间的API差异.那么,挑选你的排队后端就变成了一个操作问题.而且您无需重写工作就可以在它们之间切换.
队列配置(包括优先级)成为Adapter的职责.
作为队列配置的示例,请参阅Sidekiq wiki:
https://github.com/mperham/sidekiq/wiki/Advanced-Options#queues
| 归档时间: |
|
| 查看次数: |
2887 次 |
| 最近记录: |