【发布时间】:2013-05-03 10:04:38
【问题描述】:
我有这个功能可以在 linux 上使用 tika 读取 doc 文件:
def read_doc(doc_path):
output_path=doc_path+'.txt'
java_path='/home/jdk1.7.0_17/jre/bin/'
environ = os.environ.copy()
environ['JAVA_HOME'] =java_path
environ['PATH'] =java_path
tika_path=java_path+'tika-app-1.3.jar'
shell_command='java -jar %s --text --encoding=utf-8 "%s" >"%s"'%(tika_path,doc_path,output_path)
proc=subprocess.Popen(shell_command,shell=True, env=environ,cwd=java_path)
proc.wait()
当我从命令行运行这个函数时,它运行良好,但是当我使用 CGI 调用相同的函数时,我得到以下错误:
VM 初始化期间发生错误无法保留足够 对象堆空间
我检查了这个特定错误的先前答案,他们建议增加内存,但这似乎不起作用......我认为这与内存分配无关,而是一些读/写/执行来自 cgi 脚本的特权,知道如何解决这个问题吗?
【问题讨论】:
-
运行 Tika 服务器会不会更好,因此只有一个启动成本,并让 python 将数据传输到 Tika 进行处理?
-
谢谢,看起来是个好主意,我设法运行了服务器,但不知道实际使用它...
-
在Tika Wiki上记录了它以及示例
-
由于某种原因,我无法向服务器发送请求并如示例中所示返回某些内容,我需要按 ctrl+z 来中断
标签: java python cgi apache-tika