使用Django和Celery更新Haystack搜索索引
在我的Django项目中,我使用了Celery。我把一个命令从定时任务(crontab)改成了周期性任务,现在运行得很好,但它只是调用了一个模型中的方法。我想知道能不能从周期性任务中更新我的Haystack索引?有没有人做过这个?
/manage.py update_index
这是Haystack文档中更新索引的命令,但我不太确定怎么从任务中调用它。
4 个回答
7
我觉得这个软件包非常棒,是一个简单易用的插件应用,可以通过celery来提供haystack索引。我在几个项目中用过它。
12
关于haystack的2.0.0 beta版本,这段代码应该可以正常运行:
from haystack.management.commands import update_index
update_index.Command().handle(using='default')
30
最简单的方法可能就是直接从Python里运行管理命令,然后在你的任务中执行它。
from haystack.management.commands import update_index
update_index.Command().handle()