You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mastodon/app/workers/admin/distribute_announcement_not...

19 lines
564 B
Ruby

# frozen_string_literal: true
class Admin::DistributeAnnouncementNotificationWorker
include Sidekiq::IterableJob
include BulkMailingConcern
def build_enumerator(announcement_id, cursor:)
@announcement = Announcement.find(announcement_id)
active_record_batches_enumerator(@announcement.scope_for_notification, cursor:)
rescue ActiveRecord::RecordNotFound
nil
end
def each_iteration(batch_of_users, _announcement_id)
push_bulk_mailer(UserMailer, :announcement_published, batch_of_users.map { |user| [user, @announcement] })
end
end