summaryrefslogtreecommitdiff
path: root/app/workers/mail_scheduler/issue_due_worker.rb
blob: 4c17f8df722c160f25c77de31cd12e9a6c190305 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# frozen_string_literal: true

module MailScheduler
  class IssueDueWorker # rubocop:disable Scalability/IdempotentWorker
    include ApplicationWorker

    data_consistency :always

    sidekiq_options retry: 3
    include MailSchedulerQueue

    feature_category :issue_tracking

    # rubocop: disable CodeReuse/ActiveRecord
    def perform(project_id)
      Issue.opened.due_tomorrow.in_projects(project_id).preload(:project).find_each do |issue|
        notification_service.issue_due(issue)
      end
    end
    # rubocop: enable CodeReuse/ActiveRecord
  end
end