ActiveJobs队列

时间:2017-10-10 09:07:02

标签: ruby-on-rails ruby asynchronous

我有一个RoR应用程序,其中一些模型需要对远程API进行配置。但是在其中两个中,我需要做很多配置HTTP请求,我使用ActiveJob来完成这项任务。

问题是我需要维护这些HTTP请求的创建顺序,但ActiveJob却没有。

如何按特定顺序使用ActiveJob处理许多异步任务?

1 个答案:

答案 0 :(得分:1)

一种方法是将这些作业放在特殊队列

class MyHttpJob < ApplicationJob
  queue_as :serial_creation
  #....
end

该队列中只有一名工人。没有并发=&gt;自动序列化。当然,这具有严重的性能限制。但是,如果你的一个工人能够处理流量,那么这是一个很好的方法。