mastodon/app/workers/admin/distribute_announcement_notification_worker.rb
2025-06-30 14:49:14 +00:00

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