Skip to main content

An app for integrating Celery with Haystack.

Project description

===============
celery-haystack
===============

.. image:: https://secure.travis-ci.org/django-haystack/celery-haystack.png?branch=develop
:alt: Build Status
:target: http://travis-ci.org/django-haystack/celery-haystack

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

Requirements
------------

* 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: http://haystacksearch.org
.. _Celery: http://www.celeryproject.org


Installation
------------

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: https://github.com/carljm/django-transaction-hooks


Usage
-----

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

.. code:: python

INSTALLED_APPS = [
# ..
'celery_haystack',
]

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
``haystack.indexes.Indexable``

.. 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.

Thanks
------

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: https://github.com/toastdriven/queued_search/
.. _Celery: http://celeryproject.org/
.. _queues: http://code.google.com/p/queues/

Issues
------

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

.. _`Github issue tracker`: https://github.com/django-haystack/celery-haystack/issues

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

celery-haystack-0.10.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

celery_haystack-0.10-py2.py3-none-any.whl (12.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file celery-haystack-0.10.tar.gz.

File metadata

File hashes

Hashes for celery-haystack-0.10.tar.gz
Algorithm Hash digest
SHA256 b6e2a3c70071bef0838ca1a7d9f14fae6c2ecf385704092e59b82147a1ee552e
MD5 6e398fd8f69b6d55682dbc9bd22a6fa1
BLAKE2b-256 4bd641f17690c2b7b4f0a524ce539c263429ae96866aa4e794491f775d5ba11e

See more details on using hashes here.

File details

Details for the file celery_haystack-0.10-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for celery_haystack-0.10-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ec1f39050661e033f554de99cb9393c2e94427667ff5401f16393b2a68f888fc
MD5 26bbe6b8e8a6367e15384928b34cc756
BLAKE2b-256 5c620565be8831b3bf34e71b67711ff998d9ec9916d7be0df59789cdb6edc17e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page