Heroku 不断崩溃 500,没有描述和 heroku 日志 - 日志



我的应用程序在Heroku上崩溃,但localhost工作时没有任何问题

日志:

heroku router - - at=info method=POST path="/documents" host=www.getmehired.my request_id=368bcdf4-a236-4b40-af87-5f7c801d6654 fwd="61.6.109.144,162.158.165.159" dyno=web.1 connect=1ms service=3562ms status=500 bytes=1669 protocol=http
app web.1 - Completed 500 Internal Server Error in 3224ms (ActiveRecord: 30.5ms)
app web.1 - Errno::ENOENT (No such file or directory - java):
app web.1 - app/models/document.rb:24:in `update_information'
app web.1 - app/controllers/documents_controller.rb:6:in `create'

Dyno:

web bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development} ON
redis redis-server OFF
worker bundle exec sidekiq -c 3 ON

Documents_controller(使用回形针和aws上传文档:

def create
@doc = Document.new(doc_params)
if @doc.save
@doc.update_information
redirect_to users_edit_path
else
redirect_to root_path
end
end

文件型号:

def update_information
cv = Yomu.new(self.cv.url)
# THE NEXT COMMAND -> CRASH
self.num_of_pages = cv.metadata['xmpTPg:NPages'] if cv.metadata['xmpTPg:NPages']
self.num_of_characters = cv.text.size
self.num_of_words = cv.text.split.size
self.file_extension = self.cv_file_name.split('.').reverse.first
self.file_updated_at = cv.metadata['modified'] || cv.metadata['Creation-Date'] || Time.now
self.file_created_at =  cv.metadata['Creation-Date'] || Time.now
self.save!
end

阅读以下说明

安装和依赖项

Java运行时

Yomu打包Apache Tika应用程序jar,并需要一个可工作的JRE才能工作。

您接收Errno::ENOENT (No such file or directory - java):的错误是由于Heroku服务器上未安装Java Runtime Environment引起的。

正如我在这里所读到的,我相信在Heroku上安装JRE可能是不可能的。

我引用了以下答案,你应该试试这个选项:

  1. 如果您使用Heroku-16堆栈

您可以将jvm添加为构建包,而不需要配置路径或其他任何东西。只要确保将其设置为您的第一个构建包即可。我和Yomu/Henkei一起尝试过,它对我很有效。

  1. 如果您正在使用雪松堆栈

则JDK可用于:/usr/lib/jvm/java-6-openjdk我不确定Yomu是如何找到Java安装的,但它可能在JAVA_HOME中找到。如果是这样,则在Heroku上设置JAVA_HOME应使其工作:

heroku config:add JAVA_HOME=/usr/lib/jvm/java-6-openjdk
  1. 第三个答案

一个java运行时(如文档所述,是JRE)。Heroku不支持(目前?)将JRE作为插件安装。解决方案:尝试其他不基于JRE的gem

最新更新