diff --git a/app/workers/snapshot_worker.rb b/app/workers/snapshot_worker.rb index c38cd32..0c511e2 100644 --- a/app/workers/snapshot_worker.rb +++ b/app/workers/snapshot_worker.rb @@ -24,6 +24,8 @@ class SnapshotWorker end def prepare_files + log "preparing files..." + if RUBY_VERSION < '1.9' in_data_file = Tempfile.new('asciiio-data') else @@ -47,6 +49,8 @@ class SnapshotWorker end def convert_to_typescript + log "converting to typescript..." + system "bash -c './script/convert-to-typescript.sh " + "#{@in_data_path} #{@in_timing_path} " + "#{@out_data_path} #{@out_timing_path}'" @@ -54,6 +58,8 @@ class SnapshotWorker end def capture_terminal(delay) + log "capturing terminal output..." + capture_command = "scriptreplay #{@out_timing_path} #{@out_data_path}; sleep 10" @@ -73,12 +79,17 @@ class SnapshotWorker Process.waitpid pid status = $?.exitstatus - raise "Can't capture output of asciicast ##{@asciicast.id}" if status != 0 + if status != 0 + log "Error capturing output: #{lines.join.inspect}", :error + raise "Can't capture output of asciicast ##{@asciicast.id}" + end lines.join('') end def cleanup + log "cleaning up..." + FileUtils.rm_f([ @in_data_path, @in_timing_path, @@ -86,4 +97,10 @@ class SnapshotWorker @out_timing_path ].compact) end + + private + + def log(text, level = :info) + Rails.logger.send(level, "SnapshotWorker: #{text}") + end end