在 Heroku 上 delayed_job 中导致 JSON 解析错误的原因是什么
What is causing a JSON parsing error in delayed_job on Heroku
我在 ruby on rails 6.0.2
应用程序的 Heroku 上看到这个错误。
JSON::ParserError: 767: unexpected token at '' (Most recent call first)
发生在 app/bin/rake
的第 9 行。
4 rescue LoadError => e
5 raise unless e.message.include?('spring')
6 end
7 require_relative '../config/boot'
8 require 'rake'
9 Rake.application.run
追溯显示它发生在 active_storage
video_analyzer.rb 文件中:
/app/vendor/ruby-2.6.5/lib/ruby/2.6.0/json/common.rb line 156 in parse
File /app/vendor/ruby-2.6.5/lib/ruby/2.6.0/json/common.rb line 156 in parse
File /app/vendor/bundle/ruby/2.6.0/gems/activestorage-6.0.2/lib/active_storage/analyzer/video_analyzer.rb line 107 in block in probe_from
video_analyzer 最终被 delayed_job
调用。该应用程序正在上传视频,但我没有发现上传或观看视频有任何问题。那么是什么导致了这个异常呢?我从 rails 5
升级到 rails 6
后才开始看到问题。
虽然我在 heroku 上包含了 ffmpeg
gem,但我仍然需要在 heroku 上安装 ffmpeg
二进制文件。我尝试使用以下命令 buildpack:
heroku buildpacks:add --index 1 https://github.com/laddhadhiraj/heroku-buildpack-ffmpeg
heroku config:set FFMPEG_BIN_URL="http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz"
但是,FFMPEG_BIN_URL
已经过时了。然而,buildpack 安装 ffmpeg
和 ffprobe
。从报错信息可以看出,问题是缺少ffprobe
导致的,这样看来报错信息已经修复了。目前尚不清楚 activestorage 功能是否完全与 ffmpeg
一起工作,因为尚未安装以下方法,ffserver, ffmpeg-10bit, qt-faststart
如果有人知道更新的构建包,请post回答或评论。
我在 ruby on rails 6.0.2
应用程序的 Heroku 上看到这个错误。
JSON::ParserError: 767: unexpected token at '' (Most recent call first)
发生在 app/bin/rake
的第 9 行。
4 rescue LoadError => e
5 raise unless e.message.include?('spring')
6 end
7 require_relative '../config/boot'
8 require 'rake'
9 Rake.application.run
追溯显示它发生在 active_storage
video_analyzer.rb 文件中:
/app/vendor/ruby-2.6.5/lib/ruby/2.6.0/json/common.rb line 156 in parse
File /app/vendor/ruby-2.6.5/lib/ruby/2.6.0/json/common.rb line 156 in parse
File /app/vendor/bundle/ruby/2.6.0/gems/activestorage-6.0.2/lib/active_storage/analyzer/video_analyzer.rb line 107 in block in probe_from
video_analyzer 最终被 delayed_job
调用。该应用程序正在上传视频,但我没有发现上传或观看视频有任何问题。那么是什么导致了这个异常呢?我从 rails 5
升级到 rails 6
后才开始看到问题。
虽然我在 heroku 上包含了 ffmpeg
gem,但我仍然需要在 heroku 上安装 ffmpeg
二进制文件。我尝试使用以下命令 buildpack:
heroku buildpacks:add --index 1 https://github.com/laddhadhiraj/heroku-buildpack-ffmpeg
heroku config:set FFMPEG_BIN_URL="http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz"
但是,FFMPEG_BIN_URL
已经过时了。然而,buildpack 安装 ffmpeg
和 ffprobe
。从报错信息可以看出,问题是缺少ffprobe
导致的,这样看来报错信息已经修复了。目前尚不清楚 activestorage 功能是否完全与 ffmpeg
一起工作,因为尚未安装以下方法,ffserver, ffmpeg-10bit, qt-faststart
如果有人知道更新的构建包,请post回答或评论。