Class: Jobs::ProcessBulkInviteEmails
- Defined in:
- app/jobs/regular/process_bulk_invite_emails.rb
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
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'app/jobs/regular/process_bulk_invite_emails.rb', line 5 def execute(args) pending_invite_ids = Invite .where(emailed_status: Invite.emailed_status_types[:bulk_pending]) .limit(Invite::BULK_INVITE_EMAIL_LIMIT) .pluck(:id) if pending_invite_ids.length > 0 Invite.where(id: pending_invite_ids).update_all( emailed_status: Invite.emailed_status_types[:sending], ) pending_invite_ids.each { |invite_id| ::Jobs.enqueue(:invite_email, invite_id: invite_id) } ::Jobs.enqueue_in(1.minute, :process_bulk_invite_emails) end end |