Class: RailsErrorDashboard::ScheduledDigestJob

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

Overview

Background job to send scheduled error digest emails. Schedule this job via your preferred scheduler (SolidQueue, Sidekiq, cron).

Examples:

Schedule daily digest

RailsErrorDashboard::ScheduledDigestJob.perform_later(period: "daily")

Schedule via rake

rails error_dashboard:send_digest PERIOD=daily

Instance Method Summary collapse

Instance Method Details

#perform(period: "daily", application_id: nil) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'app/jobs/rails_error_dashboard/scheduled_digest_job.rb', line 15

def perform(period: "daily", application_id: nil)
  return unless RailsErrorDashboard.configuration.enable_scheduled_digests

  recipients = effective_recipients
  return if recipients.blank?

  digest = Services::DigestBuilder.call(
    period: period.to_sym,
    application_id: application_id
  )

  DigestMailer.digest_summary(digest, recipients).deliver_now
rescue => e
  Rails.logger.error("[RailsErrorDashboard] ScheduledDigestJob failed: #{e.class}: #{e.message}")
end