21 lines
602 B
Ruby
21 lines
602 B
Ruby
module Users
|
|
class DeleteWorker
|
|
include Sidekiq::Worker
|
|
|
|
sidekiq_options queue: :high_priority, retry: 10
|
|
|
|
def perform(user_id, admin_delete = false)
|
|
user = User.find_by(id: user_id)
|
|
return unless user
|
|
|
|
Users::Delete.call(user)
|
|
return if admin_delete || user.email.blank?
|
|
|
|
NotifyMailer.with(user: user).account_deleted_email.deliver_now
|
|
rescue StandardError => e
|
|
DatadogStatsClient.count("users.delete", 1, tags: ["action:failed", "user_id:#{user.id}"])
|
|
Honeybadger.context({ user_id: user.id })
|
|
Honeybadger.notify(e)
|
|
end
|
|
end
|
|
end
|