Files
turbovault-app/lib/tasks/igdb.rake
2026-03-29 02:37:49 -04:00

42 lines
1.2 KiB
Ruby

namespace :igdb do
desc "Manually run IGDB sync job"
task sync: :environment do
puts "🔄 Starting IGDB sync..."
IgdbSyncJob.perform_now
puts "✅ IGDB sync completed!"
end
desc "Check IGDB sync status"
task status: :environment do
puts "\n📊 IGDB Sync Status"
puts "=" * 50
enabled_users = User.where(igdb_sync_enabled: true)
puts "Users with sync enabled: #{enabled_users.count}"
enabled_users.each do |user|
unmatched = user.games.igdb_unmatched.count
matched = user.games.igdb_matched.count
pending = user.igdb_match_suggestions.status_pending.count
puts "\n 👤 #{user.username}"
puts " - Matched: #{matched}"
puts " - Unmatched: #{unmatched}"
puts " - Pending review: #{pending}"
if user.igdb_last_synced_at
puts " - Last synced: #{user.igdb_last_synced_at.strftime('%Y-%m-%d %H:%M')}"
end
end
puts "\n⚙️ Background Job Status"
puts " Job running: #{IgdbSyncJob.running? ? 'Yes' : 'No'}"
puts "=" * 50
end
desc "Clear IGDB sync lock (if stuck)"
task clear_lock: :environment do
Rails.cache.delete("igdb_sync_job:running")
puts "✅ Cleared IGDB sync lock"
end
end