У меня есть эта функция, чтобы прочитать файл DOC с помощью TIKA на Linux:не смог выполнить команду Java от CGI
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, я получаю следующее сообщение об ошибке:
Error occurred during initialization of VM Could not reserve enough space for object heap
Я проверил предыдущие ответы для этой конкретной ошибки, и они предполагают увеличение памяти, но это не похоже на работу ... Я не думаю, что это имеет делать с распределением памяти, а скорее некоторые чтения/записи/выполнения privilages из скрипта cgi, любая идея ho w решить эту проблему?
Не было бы лучше работать с сервером Tika, так что есть только одна стоимость запуска и наличие python для передачи данных Tika для обработки? – Gagravarr
Спасибо, выглядит неплохо, мне удалось запустить сервер, но не знаю, как его использовать ... – hmghaly
В документе [Tika Wiki] задокументировано (Tika Wiki) (http: //wiki.apache. org/tika/TikaJAXRS) – Gagravarr