Use ActiveJob instead of Resque directly

This allows us to directly pass entities to the job.
This commit is contained in:
Patrick Gansterer 2020-07-31 14:09:45 +02:00
parent 07c8393c8c
commit 47d9c79617
16 changed files with 76 additions and 73 deletions

View file

@ -32,7 +32,7 @@ class MessagesController < ApplicationController
def create
@message = @current_user.send_messages.new(params[:message])
if @message.save
Resque.enqueue(MessageNotifier, FoodsoftConfig.scope, 'message_deliver', @message.id)
DeliverMessageJob.perform_later(@message)
redirect_to messages_url, :notice => I18n.t('messages.create.notice')
else
render :action => 'new'

View file

@ -1,10 +1,5 @@
class MessageNotifier < UserNotifier
@queue = :foodsoft_notifier
def self.message_deliver(args)
message_id = args.first
message = Message.find(message_id)
class DeliverMessageJob < ApplicationJob
def perform(message)
message.message_recipients.each do |message_recipient|
recipient = message_recipient.user
if recipient.receive_email?

View file

@ -52,7 +52,7 @@ class MessagesMailReceiver
message.add_recipients [@message.sender_id]
message.save!
Resque.enqueue(MessageNotifier, FoodsoftConfig.scope, "message_deliver", message.id)
DeliverMessageJob.perform_later(message)
end
private