无法在Heroku上停止solr服务器

Mar*_*tin 0 solr ruby-on-rails heroku websolr

我尝试solr在Heroku 上停止服务器(已经安装了Websolr $ 20插件),但我无法这样做.

$ heroku run rake sunspot:solr:stop
Running `rake sunspot:solr:stop` attached to terminal... up, run.1
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.9) (6b20-1.9.9-0ubuntu1~10.04.2)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
rake aborted!
No PID file at /app/solr/pids/production/sunspot-solr-production.pid

Tasks: TOP => sunspot:solr:stop
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样吗?

wil*_*ynn 5

当你说heroku run,你要求Heroku旋转一个新的dyno.然后你告诉这个新的dyno运行一个rake任务来阻止Solr - 但它没有运行Solr,它是一个完全不同的服务器上的一个全新的dyno,它只运行rake任务来阻止Solr.

一旦启动,你只有几种与dyno通信的方式:

  • 如果有的话,通过港口它是必然的;
  • 通过它连接的服务(例如数据库或消息代理); 要么
  • 通过要求Heroku停止它,通过扩展,部署新版本或通过ps:stop.

您可以通过以下方式获取应用程序运行的进程列表heroku ps.(据推测,此列表将包含您尝试停止的Solr实例.)您可以使用终止任何这些进程heroku ps:stop <process name>.