【发布时间】:2011-05-20 12:22:20
【问题描述】:
在我的 Django 项目中,我使用的是 Celery。我将 crontab 中的命令切换为定期任务,它运行良好,但它只是在模型上调用一个方法。是否也可以通过定期任务更新我的 Haystack 索引?有人做过吗?
/manage.py update_index
这是从 Haystack 文档更新索引的命令,但我不确定如何从任务中调用它。
【问题讨论】:
-
管理命令最好只是对公共 API 的一个薄包装,但遗憾的是这里似乎并非如此; github.com/toastdriven/django-haystack/blob/master/haystack/…
-
作为 hack,你可以使用 django.core.management.call_command("update_index"),但我宁愿复制+粘贴上面链接的代码以独立工作
-
@asksol,感谢您的回复。为什么 call_command 被认为是 hack?复制粘贴整个命令似乎更简单。
-
啊,不是整个命令。只是实际做索引的部分,没有 Django 命令的东西。
标签: python django indexing celery django-haystack