Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Disable users who have email addresses that are bouncing
- class DisableRejectedEmailsJob
- include Sidekiq::Worker
- def perform
- now = Time.zone.now
- target_users = User.enabled.where(email: rejected_emails)
- # Load the ids before we update the users or the pluck query will return nothing
- target_user_ids = target_users.pluck(:id)
- target_users.update_all(disabled_at: now)
- target_user_ids.each { |user_id| track_disabling_of(user_id) }
- end
- private
- def track_disabling_of(user_id)
- Activity.track(
- 'user:disable',
- target_type: User.name,
- target_id: user_id
- )
- end
- # Returns an array of email addresses
- def rejected_emails
- # Logic for pulling recently bounced email address from our mail server
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement