我尝试在Heroku上停止solr
服务器(已经安装了$ 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)
任何想法为什么会发生这种情况?
当您说heroku run
时,您要求Heroku旋转新的Dyno。然后,您告诉这个新的Dyno来运行rake
任务以停止Solr - 但它没有运行Solr,它是完全不同的服务器上的全新Dyno,并且仅运行耙子任务以停止Solr。
启动后,您只有几种与Dyno进行通信的方法:
- 通过端口,它限制为(如果有);
- 通过服务连接到(例如数据库或消息代理);或
- 要求Heroku通过缩放,部署新版本或通过
ps:stop
停止它。
您可以通过heroku ps
获取应用程序正在运行的过程列表。(大概此列表将包括您要停止的SOLR实例。)您可以使用heroku ps:stop <process name>
终止任何这些过程。
如果要删除索引,则应删除插件。没有办法暂停插件。