Updating a Haystack search index with Django + Celery

knuckfubuck picture knuckfubuck · Dec 5, 2010 · Viewed 8.3k times · Source

In my Django project I am using Celery. I switched over a command from crontab to be a periodic task and it works well but it is just calling a method on a model. Is it possible to update my Haystack index from a periodic task as well? Has anyone done this?

/manage.py update_index

That's the command to update the index from the Haystack documentation but I'm not sure how to call that from a task.

Answer

Jann picture Jann · Dec 7, 2010

the easiest way to do this would probably be to run the management command directly from python and run it in your task

from haystack.management.commands import update_index
update_index.Command().handle()