自动重启Tika服务器

时间:2015-07-30 20:46:56

标签: apache-tika

我正在构建一个用户提交pdf文件的Web服务,并使用Tika从这些文件中提取文本中的内容。我在服务器模式下使用Tika在我托管Django网站的同一台计算机上。

我的问题是,有没有办法在Tika服务器因任何原因关闭时自动重启?我如何构建一个脚本并运行它,以便每当Tika服务器关闭时,这将被跟踪并且服务器再次重新启动?我的最终目标不是每天从控制台检查Tika是否已关闭,当用户抱怨她的pdf被提取时,都没有意识到服务已关闭。

1 个答案:

答案 0 :(得分:3)

由于您使用的是Ubuntu的最新副本,因此您最简单的选择可能是为其创建自定义Upstart作业。在其他unix上,你需要类似于他们的init系统的东西,在Windows上我觉得用Apache Commons Daemon来封装它作为Windows服务可能是最好的选择。

作为covered in this post over on Ask Ubuntu,你需要的关键是respawn选项,告诉新手重新启动Tika服务器,如果它失败了,并且如果它真的得到了限制因某种原因破了。

您需要创建一个文件/etc/init/tika-server.conf,内容如下:

description     "Apache Tika Server"

start on filesystem or runlevel [2345]
stop on shutdown

respawn
respawn limit 3 12

exec java -jar /path/to/tika/tika-server-1.10-SNAPSHOT.jar

调整Tika Server jar的路径,并添加您想要的任何选项/参数。

完成后,要init-checkconf /etc/init/tika-server.conf检查它是否有效,然后service tika-server start启动它。

此时,您可以前往http://localhost:9998/并看到它正在运行!如果它死了,新贵会为你重启它。