django haystack在制作中,如何自动执行python manage.py update_index?

时间:2016-03-25 08:53:06

标签: python django amazon-elastic-beanstalk

当用户上传帖子时,我使用haystack搜索引擎来允许用户搜索该帖子。每个东西都在开发中工作,我担心的是在开发时我必须使用python manage.py rebuild_index才能开始,而python manage.py update_index用于更新任何添加的帖子在搜索引擎中。如何在生产中自动完成这项工作?

我正在使用亚马逊弹性豆茎,所以我想我会这样做

 01_forhaystack:
    command: "source /opt/python/run/venv/bin/activate && python project/manage.py rebuild_index --noinput"

  02_forhaystack2:
    command: "source /opt/python/run/venv/bin/activate && python project/manage.py update_index --noinput"

它会起作用吗??有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

当然,您可以每天/每小时更新_index。甚至在每个模型插入/更新后。但更好的方法是使用信号和Real Time Search

答案 1 :(得分:0)

只需在 settings.py 中添加下一行。

HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'

如果您需要更多信息,可以阅读文档RealtimeSignalProcessor

相关问题