django-oscar アプリケーションと共にApache Solrがインストールされていることを確認する必要があり、.ebextensions 構成ファイルでこれらの手順を使用して、Solr を自動的にインストールし、インデックスを再構築しています。
ここに .ebextensions/03_solr.config があります
container_commands:
01_install_solr:
command: "wget http://archive.apache.org/dist/lucene/solr/4.7.2/solr-4.7.2.tgz &&
tar xzf solr-4.7.2.tgz &&
cd solr-4.7.2.example/solr/collection1 &&
mv conf conf.original &&
ln -s /opt/python/current/app/deploy/solr conf &&
cd ../.. &&
java -jar start.jar"
02_rebuild_index:
command: "python manage.py rebuild_index --noinput"
solrを自動的にインストールするには、ここで何を追加/更新する必要がありますか
eb deploy
?
更新: bash を 1 つのコマンドに変更しました。プロセスは完了しているように見えますが、java -jar start.jar を.ebextensions/03_solr.config
実行すると、タスクは
org.eclipse.jetty.server.AbstractConnector - Started SocketConnector@0.0.0.0:8983
このプロセスは、実際にはバックグラウンド プロセスである必要があります。現在、デプロイがハングし、新しいアプリケーションをデプロイせずにタイムアウトになっているためです。この SO 投稿によると、新しいアプリケーション バージョンがデプロイされた後に遅延ジョブを開始するには、いくつかの作業が必要です。助言がありますか?明確にするために:
実行します
java -jar start.jar
コマンドを EB のノンブロッキング バックグラウンド プロセスとして使用しますか?