Class: Jobs::InviteEmail
Overview
Asynchronously send an email
Instance Method Summary collapse
Methods inherited from Base
acquire_cluster_concurrency_lock!, clear_cluster_concurrency_lock!, cluster_concurrency, cluster_concurrency_redis_key, delayed_perform, #error_context, get_cluster_concurrency, #last_db_duration, #log, #perform, #perform_immediately
Instance Method Details
#execute(args) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'app/jobs/regular/invite_email.rb', line 6 def execute(args) raise Discourse::InvalidParameters.new(:invite_id) if args[:invite_id].blank? invite = Invite.find_by(id: args[:invite_id]) return if invite.blank? = InviteMailer.send_invite(invite, invite_to_topic: args[:invite_to_topic]) Email::Sender.new(, :invite).send if invite.emailed_status != Invite.emailed_status_types[:not_required] invite.update_column(:emailed_status, Invite.emailed_status_types[:sent]) end end |