无法在Heroku上停止solr服务器

时间:2012-10-19 23:37:51

标签: ruby-on-rails heroku solr websolr

我尝试在Heroku上停止solr服务器(已经安装了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)

知道为什么会这样吗?

2 个答案:

答案 0 :(得分:5)

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

启动后,您只有几种与dyno通信的方式:

  • 通过它所绑定的端口,如果有的话;
  • 通过它连接的服务(例如数据库或消息代理);或
  • 要求Heroku通过扩展,部署新版本或ps:stop来阻止它。

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

答案 1 :(得分:2)

如果要删除索引,则应删除该插件。没有办法暂停插件。