From 96df8cbfeafd7963a0e7b56538a06371baffaf2c Mon Sep 17 00:00:00 2001 From: Seth Call Date: Tue, 5 May 2015 11:44:28 -0500 Subject: [PATCH] * disabling teaspoon gemfile for now, because of weird errors; and also VRFS-3176 (jamtrack preview regen task) --- admin/config/initializers/jam_track_tracks.rb | 2 - ruby/lib/jam_ruby/jam_track_importer.rb | 52 +++++++++++++++++++ ruby/lib/jam_ruby/models/jam_track_track.rb | 2 +- web/Gemfile | 4 +- web/lib/tasks/jam_tracks.rake | 3 ++ 5 files changed, 58 insertions(+), 5 deletions(-) diff --git a/admin/config/initializers/jam_track_tracks.rb b/admin/config/initializers/jam_track_tracks.rb index 2385642b1..404be22c6 100644 --- a/admin/config/initializers/jam_track_tracks.rb +++ b/admin/config/initializers/jam_track_tracks.rb @@ -2,8 +2,6 @@ class JamRuby::JamTrackTrack # add a custom validation - attr_accessor :preview_generate_error - validate :preview def preview diff --git a/ruby/lib/jam_ruby/jam_track_importer.rb b/ruby/lib/jam_ruby/jam_track_importer.rb index f4ce1e6de..60802a756 100644 --- a/ruby/lib/jam_ruby/jam_track_importer.rb +++ b/ruby/lib/jam_ruby/jam_track_importer.rb @@ -719,6 +719,32 @@ module JamRuby end + def synchronize_preview(jam_track) + importer = JamTrackImporter.new + importer.name = jam_track.name + + error_occurred = false + error_msg = nil + jam_track.jam_track_tracks.each do |track| + next if track.track_type == 'Master' + + if track.preview_start_time + track.generate_preview + if track.preview_generate_error + error_occurred = true + error_msg = track.preview_generate_error + else + end + end + end + + if error_occurred + importer.finish('preview_error', error_msg) + else + importer.finish('success', nil) + end + end + def synchronize_jamtrack_master_preview(jam_track) importer = JamTrackImporter.new importer.name = jam_track.name @@ -741,6 +767,32 @@ module JamRuby importer end + + def synchronize_previews + importers = [] + + JamTrack.all.each do |jam_track| + importers << synchronize_preview(jam_track) + end + + @@log.info("SUMMARY") + @@log.info("-------") + importers.each do |importer| + if importer + if importer.reason == "success" || importer.reason == "no_preview_start_time" + @@log.info("#{importer.name} #{importer.reason}") + else + @@log.error("#{importer.name} failed to import.") + @@log.error("#{importer.name} reason=#{importer.reason}") + @@log.error("#{importer.name} detail=#{importer.detail}") + end + else + @@log.error("NULL IMPORTER") + end + + end + end + def synchronize_jamtrack_master_previews importers = [] diff --git a/ruby/lib/jam_ruby/models/jam_track_track.rb b/ruby/lib/jam_ruby/models/jam_track_track.rb index f30aaf28d..ed4efecbd 100644 --- a/ruby/lib/jam_ruby/models/jam_track_track.rb +++ b/ruby/lib/jam_ruby/models/jam_track_track.rb @@ -19,7 +19,7 @@ module JamRuby attr_accessible :jam_track_id, :track_type, :instrument, :instrument_id, :position, :part, as: :admin attr_accessible :url_44, :url_48, :md5_44, :md5_48, :length_44, :length_48, :preview_start_time_raw, as: :admin - attr_accessor :original_audio_s3_path, :skip_uploader + attr_accessor :original_audio_s3_path, :skip_uploader, :preview_generate_error before_destroy :delete_s3_files diff --git a/web/Gemfile b/web/Gemfile index a48fd5e57..3092b19d7 100644 --- a/web/Gemfile +++ b/web/Gemfile @@ -98,8 +98,8 @@ group :development, :test do gem 'execjs', '1.4.0' gem 'factory_girl_rails', '4.1.0' # in dev because in use by rake task gem 'database_cleaner', '1.3.0' #in dev because in use by rake task - gem 'teaspoon' - gem 'teaspoon-jasmine' +# gem 'teaspoon' +# gem 'teaspoon-jasmine' end group :unix do gem 'therubyracer' #, '0.11.0beta8' diff --git a/web/lib/tasks/jam_tracks.rake b/web/lib/tasks/jam_tracks.rake index ef15aee85..4d28e89a4 100644 --- a/web/lib/tasks/jam_tracks.rake +++ b/web/lib/tasks/jam_tracks.rake @@ -34,6 +34,9 @@ namespace :jam_tracks do JamTrackImporter.synchronize_all(skip_audio_upload:true) end + task sync_previews_all: :environment do |task, arg| + JamTrackImporter.synchronize_previews + end task sync_master_preview_all: :environment do |task, args| importer = JamTrackImporter.synchronize_jamtrack_master_previews