我想创建一个方法来创建所有用户的排名列表(查询所有用户,计算他们的点数,然后将排名存储在数据库中)。
我需要在后台工作中发生这种情况......
我还需要能够通过Rails控制器方法运行此方法。
使用Rails 5,我应该将这个文件/任务/作业存储在我的Rails应用程序中,如何在我的后台作业任务之外的控制器中调用此方法?
由于
答案 0 :(得分:1)
你基本上创建了一个像你一样的工作,然后你可以在控制器中调用
这直接来自Rails文档:
创造一份工作
bin/rails generate job guests_cleanup
定义你的工作
class GuestsCleanupJob < ApplicationJob
queue_as :default
def perform(*guests)
# Do something later
end
end
执行你的工作
GuestsCleanupJob.perform_later guest
您可以在rails docs中阅读更多内容: http://edgeguides.rubyonrails.org/active_job_basics.html