Search code examples
pythondjangoindexingcelerydjango-haystack

Updating a Haystack search index with Django + Celery


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.


Solution

  • 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()