Class: Jobs::BulkInvite
Instance Method Summary collapse
- #execute(args) ⇒ Object
-
#initialize ⇒ BulkInvite
constructor
A new instance of BulkInvite.
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
Constructor Details
#initialize ⇒ BulkInvite
Returns a new instance of BulkInvite.
7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'app/jobs/regular/bulk_invite.rb', line 7 def initialize super @logs = [] @sent = 0 @skipped = 0 @warnings = 0 @failed = 0 @groups = {} @user_fields = {} @valid_groups = {} end |
Instance Method Details
#execute(args) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/jobs/regular/bulk_invite.rb', line 20 def execute(args) @invites = args[:invites] raise Discourse::InvalidParameters.new(:invites) if @invites.blank? @current_user = User.find_by(id: args[:current_user_id]) raise Discourse::InvalidParameters.new(:current_user_id) unless @current_user @guardian = Guardian.new(@current_user) process_invites(@invites) if @invites.length > Invite::BULK_INVITE_EMAIL_LIMIT ::Jobs.enqueue(:process_bulk_invite_emails) end ensure notify_user end |