skip to navigation
skip to content

celery-haystack 0.10

An app for integrating Celery with Haystack.


.. image::
:alt: Build Status

This Django app allows you to utilize Celery for automatically updating and
deleting objects in a Haystack_ search index.


* Django 1.8+
* Haystack_ `2.X`_
* Celery_ 3.X

You also need to install your choice of one of the supported search engines
for Haystack and one of the supported backends for Celery.

.. _Haystack:
.. _Celery:


Use your favorite Python package manager to install the app from PyPI, e.g.::

pip install celery-haystack

For Django < 1.9 you need to install and configure `django-transaction-hooks`_ -- an app that
brings transaction commit hooks to Django.

.. _django-transaction-hooks:


1. Add ``'celery_haystack'`` to the ``INSTALLED_APPS`` setting

.. code:: python

# ..

2. Enable the celery-haystack signal processor in the settings

.. code:: python

HAYSTACK_SIGNAL_PROCESSOR = 'celery_haystack.signals.CelerySignalProcessor'

3. Alter all of your ``SearchIndex`` subclasses to inherit from
``celery_haystack.indexes.CelerySearchIndex`` and

.. code:: python

from haystack import indexes
from celery_haystack.indexes import CelerySearchIndex
from myapp.models import Note

class NoteIndex(CelerySearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, model_attr='content')

def get_model(self):
return Note

4. Ensure your Celery instance is running.


This app is a blatant rip-off of Daniel Lindsley's queued_search_
app but uses Ask Solem Hoel's Celery_ instead of the equally awesome
queues_ library by Matt Croyden.

.. _queued_search:
.. _Celery:
.. _queues:


Please use the `Github issue tracker`_ for any bug reports or feature

.. _`Github issue tracker`:  
File Type Py Version Uploaded on Size
celery-haystack-0.10.tar.gz (md5) Source 2015-12-30 8KB
celery_haystack-0.10-py2.py3-none-any.whl (md5) Python Wheel 2.7 2015-12-30 11KB