自动重启 Tika 服务器

auto restart a Tika server

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

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

由于您使用的是 Ubuntu 的最新副本,最简单的选择可能是为其创建自定义 Upstart 作业。在其他 unix 上,您可能希望他们的初始化系统有类似的东西,而在 Windows 上,我认为用 Apache Commons Daemon 将其包装为 Windows 服务可能是最好的选择。

covered in this post over on Ask Ubuntu 一样,您需要的关键是 respawn 选项,告诉 upstart 在它碰巧失败时重新启动 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/ 并查看 运行!如果它死了,新贵会为你重启它。