Class: DailyFocusManagerReportWorker
- Inherits:
-
Object
- Object
- DailyFocusManagerReportWorker
- Includes:
- Sidekiq::Job
- Defined in:
- app/workers/daily_focus_manager_report_worker.rb
Overview
Sends a consolidated Daily Focus digest email to sales managers
after all per-rep analyses have been generated.
Enqueued by DailyFocusAnalysisWorker with a delay to allow
per-rep workers to complete first.
Instance Method Summary collapse
-
#perform ⇒ Object
Sends the consolidated Daily Focus digest for today's pending-review conversations.
Instance Method Details
#perform ⇒ Object
Sends the consolidated Daily Focus digest for today's pending-review conversations.
Recipients are a fixed allowlist (see InternalMailer::DAILY_FOCUS_DIGEST_RECIPIENTS), not every sales_manager/sales_director.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'app/workers/daily_focus_manager_report_worker.rb', line 17 def perform conversations = todays_focus_conversations return if conversations.empty? recipient_emails = InternalMailer::DAILY_FOCUS_DIGEST_RECIPIENTS InternalMailer.daily_focus_digest( conversations: conversations, recipient_emails: recipient_emails ).deliver_now Rails.logger.info("[DailyFocusManagerReportWorker] Sent digest to #{recipient_emails.size} recipients covering #{conversations.size} reps") rescue StandardError => e Rails.logger.error("[DailyFocusManagerReportWorker] Failed: #{e.}\n#{e.backtrace.first(5).join("\n")}") ErrorReporting.error(e, source: :background, context: { worker: 'DailyFocusManagerReportWorker' }) end |