Sidekiq Rails 4.2 Использовать активную работу или работника? Какая разница

Это мои первые задания на обработку асинхронно. Я внедряю Sidekiq для фоновой обработки в моем приложении. Я буду использовать его для писем с напоминаниями и уведомлений в приложении. Я не понимаю, следует ли мне использовать Active Job для создания работы, которая отправляет электронную почту, или работника Sidekiq для отправки электронной почты. Похоже, что они делают то же самое, и Rails 4.2 Active Job кажется совершенно новым ... заменяет ли он необходимость в Sidekiq Worker?

Ниже та же самая отправка кода почтовой программы, используя задание Active Job и Sidekiq Worker. Я использую всякий раз, когда драгоценный камень для планирования.

my_mailers.rb

class MyMailers < ActionMailer::Base

  def some_mailer(r.user_id)
    @user = User.find(r.user_id)
    mailer_name = "ROUNDUP"
    @email = @user.email
    @subject ="subject text"
    mail(to: @email, 
      subject: @subject,  
      template_path: '/notifer_mailers', 
      template_name: 'hourly_roundup.html',
      )
  end
end

Использование Sidekiq "Рабочий"
some_worker.rb

class SomeWorker
  include Sidekiq::Worker

  def perform()
    @user = User.all
    @reminders = @user.reminders.select(:user_id).uniq.newmade
    @reminders.each do |r|
      MyMailers.some_mailer(r.user_id).deliver_later
    end
  end

end

Использование активной работы "Job"
some_job.rb

class SomeJob < ActiveJob::Base
  queue_as :mailer

  def perform()
    @user = User.all
    @reminders = @user.reminders.select(:user_id).uniq.newmade
    @reminders.each do |r|
      MyMailers.some_mailer(r.user_id).deliver_later
    end
  end

end

Оба примера в моем планировщике Everyever schedule.rb

require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
set :path, Rails.root
set :output, Rails.root.join('log', 'cron.log')

#using a worker
every 1.day, :at => '4:30 am' do
  runner SomeWorker.perform_async
end

#using a job
every 1.day, :at => '4:30 am' do
  runner SomeJob.perform_async
end

Ответы на вопрос(4)

Ваш ответ на вопрос