Class: ReviewAvatarBackfillWorker
- Inherits:
-
Object
- Object
- ReviewAvatarBackfillWorker
- Includes:
- Sidekiq::Status::Worker, Sidekiq::Worker
- Defined in:
- app/workers/review_avatar_backfill_worker.rb
Overview
Generates and auto-imports AI avatar images for tagged ReviewsIo records
that have no avatar yet.
Production: scheduled nightly (2:15 AM CT) via +review_avatar_backfill_worker+ in
+config/sidekiq_production_schedule.yml+.
Follows the single-worker dual-mode pattern:
ReviewAvatarBackfillWorker.perform_async # bulk: enqueues one job per review
ReviewAvatarBackfillWorker.perform_async(review_id) # single: generates avatar for that review
Bulk mode is safe to run repeatedly — it skips reviews that already have
an avatar_image_id or that already have a pending GeneratedImage in flight.
The worker uses ImageGenerationWorker under the hood with auto_import: true,
so the generated image is promoted to the library and the review's
avatar_image_id is assigned automatically — no manual import step needed.
Instance Method Summary collapse
Instance Method Details
#perform(review_id = nil) ⇒ Object
27 28 29 30 31 32 33 |
# File 'app/workers/review_avatar_backfill_worker.rb', line 27 def perform(review_id = nil) if review_id.nil? bulk_enqueue else process_review(review_id) end end |