推送新版本的应用程序时搜索索引不起作用
Seach index not working when pushing new version of app
我在我的 django 应用程序中使用 django-haystack 和 whoosh 搜索引擎。一切正常,除了当我 git push
新版本到我的 OpenShift 服务器时,搜索停止工作。它根本没有 return 任何结果。如果我 运行 ./manage.py update_index
它开始工作。
我的 .gitignore
文件中有 whoosh_index/
。我检查了 git ls-files
并且 whoosh_index 文件夹不存在。所以我的本地主机文件不应该覆盖任何 whoosh_index 文件。
目前我使用 post_deploy
脚本:
echo "Executing 'python ${OPENSHIFT_REPO_DIR}wsgi/app/manage.py update_index'"
python "$OPENSHIFT_REPO_DIR"wsgi/app/manage.py update_index
但是有没有其他方法让我每次推送新版本的应用程序时都不必update_index?我错过了什么?
All OpenShift applications are built around a Git source control workflow - you code locally, then push your changes to the server. The
server then runs a number of hooks to build and configure your
application, and finally restarts your application. Optionally,
applications can elect to be built using Jenkins, or run using hot
deployment which speeds up the deployment of code to OpenShift.
完成的更改分为 5 个阶段:
- Pre-Receive
- Pre-Build
- 建造
- 部署
- Post-Deploy
您可以将索引更新操作添加到构建阶段,方法是将其添加到文件中:
.openshift/action_hooks/build
您可以通过要求热部署模式禁用整个修改开放班次的操作:
$ touch .openshift/markers/hot_deploy
With hot deployment the changes to application code are applied
without restarting the application cartridge, resulting in increased
deployment speed and minimized application downtime.
我在我的 django 应用程序中使用 django-haystack 和 whoosh 搜索引擎。一切正常,除了当我 git push
新版本到我的 OpenShift 服务器时,搜索停止工作。它根本没有 return 任何结果。如果我 运行 ./manage.py update_index
它开始工作。
我的 .gitignore
文件中有 whoosh_index/
。我检查了 git ls-files
并且 whoosh_index 文件夹不存在。所以我的本地主机文件不应该覆盖任何 whoosh_index 文件。
目前我使用 post_deploy
脚本:
echo "Executing 'python ${OPENSHIFT_REPO_DIR}wsgi/app/manage.py update_index'"
python "$OPENSHIFT_REPO_DIR"wsgi/app/manage.py update_index
但是有没有其他方法让我每次推送新版本的应用程序时都不必update_index?我错过了什么?
All OpenShift applications are built around a Git source control workflow - you code locally, then push your changes to the server. The server then runs a number of hooks to build and configure your application, and finally restarts your application. Optionally, applications can elect to be built using Jenkins, or run using hot deployment which speeds up the deployment of code to OpenShift.
完成的更改分为 5 个阶段:
- Pre-Receive
- Pre-Build
- 建造
- 部署
- Post-Deploy
您可以将索引更新操作添加到构建阶段,方法是将其添加到文件中:
.openshift/action_hooks/build
您可以通过要求热部署模式禁用整个修改开放班次的操作:
$ touch .openshift/markers/hot_deploy
With hot deployment the changes to application code are applied without restarting the application cartridge, resulting in increased deployment speed and minimized application downtime.