mirror of
https://github.com/ryankazokas/turbovault-app.git
synced 2026-04-16 21:02:52 +00:00
42 lines
1.2 KiB
Ruby
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
|