我在heroku中运行CasperJS脚本,但heroku报告:
! Heroku client internal error.
! Search for help at: https://help.heroku.com
! Or report a bug at: https://github.com/heroku/heroku/issues/new
Error: invalid byte sequence in UTF-8 (ArgumentError)
Command: heroku run casperjs testing.js
Version: heroku-toolbelt/3.25.0 (x86_64-darwin10.8.0) ruby/1.9.3
Error ID: a519228772c040d788af55b660c13be7
我在SO中检查了其他问题,我发现错误可能是由Ruby发出的。
如何防止此错误?
P.S。该计划是从一些中国网站获取一些信息。提取了一些数据,但有些数据无法获取。它遇到此错误随机(通过执行相同的命令进行几次双重检查)
答案 0 :(得分:0)
E.J. Finneran找到了a workaround,将数据转换为base64(参见github线程的底部)。
我在这里重复他的解决方案:
heroku run 'replicate -r ./config/environment -d "Post.all" | base64' > base64_file
# Clean up the base64_file since heroku flattens STDERR to STDOUT so you'll have some junk lines at the top
base64 -i base64file -D > binary_file
replicate -r ./config/environment -l < binary_file