2015-08-14 3 views
2

Я ищу способ сделать несколько предопределенных событий, поскольку методы происходят случайным образом для случайных пользователей.В Rails, как делать случайные события в случайные моменты для случайных пользователей

Пожалуйста, дайте мне знать, если я недостаточно ясен.

ответ

3

Вы должны создать ActiveJobs и rake задачи, которые их уволят. Пример: В 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)

Смежные вопросы