1

我安装了 Foreman gem,以便在每次运行我的应用程序时启动 Sunspot:

档案:

search: bundle exec rake sunspot:solr:start

这是输出:

alex@alex-K43U:~/rails/inkleak$ foreman start
08:05:09 search.1 | started with pid 5278
08:05:35 search.1 | java version "1.6.0_24"
08:05:35 search.1 | OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~11.10.1)
08:05:35 search.1 | OpenJDK Client VM (build 20.0-b12, mixed mode, sharing)
08:05:35 search.1 | Removing stale PID file at /home/alex/rails/inkleak/solr/pids/development/sunspot-solr-development.pid
08:05:35 search.1 | Successfully started Solr ...
08:05:35 search.1 | exited with code 0
08:05:35 system   | sending SIGTERM to all processes
SIGTERM received

可能是什么问题呢?

(顺便说一句,当我这样做时,太阳黑子运行得很好rake sunspot:solr:start

4

1 回答 1

7

sunspot:solr:start任务将 Solr 分叉到后台并立即退出。这不适用于 Foreman,它假设一个长期运行的前台进程。

你想要的是sunspot:solr:run在前台运行 Solr,允许 Foreman 管理进程。

或者,如果我这么大胆,您也可以考虑使用云托管的 Solr 搜索,例如我自己不起眼的websolr.com

于 2012-12-13T23:22:12.147 回答