Class: RailsErrorDashboard::DiscordErrorNotificationJob

Inherits:
ApplicationJob
  • Object
show all
Defined in:
app/jobs/rails_error_dashboard/discord_error_notification_job.rb

Overview

Job to send error notifications to Discord via webhook

Instance Method Summary collapse

Instance Method Details

#perform(error_log_id) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/jobs/rails_error_dashboard/discord_error_notification_job.rb', line 8

def perform(error_log_id)
  error_log = ErrorLog.find(error_log_id)
  webhook_url = RailsErrorDashboard.configuration.discord_webhook_url

  return unless webhook_url.present?

  payload = Services::DiscordPayloadBuilder.call(error_log)
  post_json(webhook_url, payload)
rescue StandardError => e
  Rails.logger.error("[RailsErrorDashboard] Failed to send Discord notification: #{e.message}")
  Rails.logger.error(e.backtrace&.first(5)&.join("\n")) if e.backtrace
end