【发布时间】:2021-08-12 15:44:23
【问题描述】:
我的代码中有大约 10 个队列,每个队列都有单独的工作人员。所有都有默认优先级 - 1.
目前,来自用户 (UI) 和 rake 任务的请求在同一个队列中。假设,从用户和 rake 任务中获取数据的请求在同一个优先级为 1 的队列中,并且两者都根据请求时间一一执行。
但我想先运行来自用户的请求,然后再运行 rake 任务。我该如何管理?
我还想了解如果我为 rake 任务创建一个单独的队列并赋予它低优先级,那么它将如何工作。它会与其他队列一起运行还是等待它们先执行?
Delayed::Worker.queue_attributes = {
high_priority: { priority: -10 },
low_priority: { priority: 10 }
}
【问题讨论】:
-
你能分享一下作业入队的代码吗?