2015-08-14 40 views

回答

3

您必须创建ActiveJobsrake任务才能触发它们。例如: 在app/jobs,创建具有以下代码share_job.rb

require "active_job" 
class ShareJob < ActiveJob::Base 
    def perform 
    func_to_call = rand(n) # n is the number of methods you have 
    case func_to_call 
    when 0 
     # call first_func 
    when 1 
     # call second_func 
    #... 
    end 
end 

然后在lib/tasks,创建一个execute_job.rake文件用下面的代码:

namespace :execute do 
    task execute_random_function: :environment do 
    ShareJob.perform_later() 
    end 
end 

要手动运行该代码,输入你的console

rake execute:execute_random_function 

您可以执行此job在随机时间使用Scheduler(a HerokuAdd-on