En suivant ce didacticiel https://www.pubnub.com/blog/2015-12-08-building-video-sharing-app-server-messaging-ruby/ sur la création d'une application de partage vidéo. C'est un peu démodé et j'ai déjà dû résoudre un problème de vue pour aller aussi loin, mais je suis plutôt perdu maintenant avec ce dernier numéro. Je crois que c'est quelque chose à voir avec sidekiq. Lorsque j'essaie de mettre en ligne une vidéo, cela semble fonctionner et apparaître dans la base de données, mais une "vidéo est toujours en cours d'encodage". message.Erreur de codage avec Sidekiq
C'est le journal:
2017-03-13T22:00:14.729Z 11109 TID-ova30dq94 WebmVideoEncoder JID-540aa74110e63e334a712719 INFO: fail: 0.122 sec
2017-03-13T22:00:14.730Z 11109 TID-ova30dq94 WARN: {"context":"Job raised exception","job":{"class":"WebmVideoEncoder","args":[3],"retry":true,"queue":"default","jid":"540aa74110e63e334a712719","created_at":1489441065.533313,"enqueued_at":1489442414.60714,"error_message":"exception class/object expected","error_class":"TypeError","failed_at":1489441065.541595,"retry_count":6,"retried_at":1489442414.7293491},"jobstr":"{\"class\":\"WebmVideoEncoder\",\"args\":[3],\"retry\":true,\"queue\":\"default\",\"jid\":\"540aa74110e63e334a712719\",\"created_at\":1489441065.533313,\"enqueued_at\":1489442414.60714,\"error_message\":\"exception class/object expected\",\"error_class\":\"TypeError\",\"failed_at\":1489441065.541595,\"retry_count\":5,\"retried_at\":1489441667.7081149}"}
2017-03-13T22:00:14.730Z 11109 TID-ova30dq94 WARN: TypeError: exception class/object expected
2017-03-13T22:00:14.730Z 11109 TID-ova30dq94 WARN: /Users/David/rubyProjects/videouploader/videouploader/app/workers/webm_video_encoder.rb:14:in `raise'
/Users/David/rubyProjects/videouploader/videouploader/app/workers/webm_video_encoder.rb:14:in `perform'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:158:in `execute_job'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:138:in `block (4 levels) in process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq.rb:36:in `block in <module:Sidekiq>'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:133:in `block (3 levels) in process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:128:in `block in invoke'
/Users/David/.rvm/gems/ruby-2.3.0/bundler/gems/sidetiq-7bec4084165f/lib/sidetiq/middleware/history.rb:8:in `call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/server/retry_jobs.rb:74:in `call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/server/logging.rb:11:in `block in call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/logging.rb:32:in `with_context'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/server/logging.rb:7:in `call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:133:in `invoke'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:132:in `block (2 levels) in process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:174:in `stats'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:131:in `block in process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/rails.rb:106:in `block in call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.2/lib/active_support/execution_wrapper.rb:85:in `wrap'
/Users/David/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.2/lib/active_support/reloader.rb:68:in `block in wrap'
/Users/David/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.2/lib/active_support/execution_wrapper.rb:85:in `wrap'
/Users/David/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.2/lib/active_support/reloader.rb:67:in `wrap'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/rails.rb:105:in `call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:126:in `process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:82:in `process_one'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:70:in `run'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/util.rb:17:in `watchdog'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/util.rb:26:in `block in safe_thread'
2017-03-13T22:00:50.877Z 11109 TID-ova3gyd4k ThumbnailCutter JID-d0c693e39e06c2cccdec7d33 INFO: start
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `ffmpeg -i /Users/David/rubyProjects/videouploader/videouploader/public/system/videos/video_files/000/000/002/original/Heart_of_Gold_-_Neil_Young_cover_with_harmonica.1_(1).mp4 -ss 00:00:01.000 -vframes 1 /tmp/1489442450881632.png'
2017-03-13T22:00:50.902Z 11109 TID-ova3gyd4k ThumbnailCutter JID-d0c693e39e06c2cccdec7d33 INFO: fail: 0.025 sec
2017-03-13T22:00:50.903Z 11109 TID-ova3gyd4k WARN: {"context":"Job raised exception","job":{"class":"ThumbnailCutter","args":[2],"retry":true,"queue":"default","jid":"d0c693e39e06c2cccdec7d33","created_at":1489437193.246615,"enqueued_at":1489442450.8759801,"error_message":"exception class/object expected","error_class":"TypeError","failed_at":1489437193.254677,"retry_count":7,"retried_at":1489442450.901133},"jobstr":"{\"class\":\"ThumbnailCutter\",\"args\":[2],\"retry\":true,\"queue\":\"default\",\"jid\":\"d0c693e39e06c2cccdec7d33\",\"created_at\":1489437193.246615,\"enqueued_at\":1489442450.8759801,\"error_message\":\"exception class/object expected\",\"error_class\":\"TypeError\",\"failed_at\":1489437193.254677,\"retry_count\":6,\"retried_at\":1489441044.6660218}"}
2017-03-13T22:00:50.903Z 11109 TID-ova3gyd4k WARN: TypeError: exception class/object expected
2017-03-13T22:00:50.903Z 11109 TID-ova3gyd4k WARN: /Users/David/rubyProjects/videouploader/videouploader/app/workers/thumbnail_cutter.rb:13:in `raise'
/Users/David/rubyProjects/videouploader/videouploader/app/workers/thumbnail_cutter.rb:13:in `perform'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:158:in `execute_job'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:138:in `block (4 levels) in process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq.rb:36:in `block in <module:Sidekiq>'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:133:in `block (3 levels) in process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:128:in `block in invoke'
/Users/David/.rvm/gems/ruby-2.3.0/bundler/gems/sidetiq-7bec4084165f/lib/sidetiq/middleware/history.rb:8:in `call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/server/retry_jobs.rb:74:in `call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/server/logging.rb:11:in `block in call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/logging.rb:32:in `with_context'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/server/logging.rb:7:in `call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:133:in `invoke'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:132:in `block (2 levels) in process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:174:in `stats'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:131:in `block in process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/rails.rb:106:in `block in call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.2/lib/active_support/execution_wrapper.rb:85:in `wrap'
/Users/David/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.2/lib/active_support/reloader.rb:68:in `block in wrap'
/Users/David/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.2/lib/active_support/execution_wrapper.rb:85:in `wrap'
/Users/David/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.2/lib/active_support/reloader.rb:67:in `wrap'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/rails.rb:105:in `call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:126:in `process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:82:in `process_one'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:70:in `run'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/util.rb:17:in `watchdog'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/util.rb:26:in `block in safe_thread'
thumbnail_cutter.rb
class ThumbnailCutter
include Sidekiq::Worker
def perform(video_id)
video = Video.find(video_id)
output = "/tmp/#{Time.now.getutc.to_f.to_s.delete('.')}.png"
_command = `ffmpeg -i #{video.video_file.path} -ss 00:00:01.000 -vframes 1 #{output}`
if $?.to_i == 0
video.thumbnail = File.open(output, 'r')
video.save
FileUtils.rm(output)
else
raise $?
end
end
end
Je n'arrive pas à trouver l'erreur de syntaxe. J'ai ajouté thunbnail_cutter.rb à mon message. Pourriez-vous jeter un oeil? – DavidK