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


Release history Release notifications

This version
History Node

0.10

History Node

0.9

History Node

0.8

History Node

0.7.2

History Node

0.7.1

History Node

0.7

History Node

0.6.2

History Node

0.6.1

History Node

0.6

History Node

0.5

History Node

0.4

History Node

0.3.1

History Node

0.3

History Node

0.2.1

History Node

0.2

History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

History Node

0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
celery_haystack-0.10-py2.py3-none-any.whl (12.1 kB) Copy SHA256 hash SHA256 Wheel 2.7 Dec 30, 2015
celery-haystack-0.10.tar.gz (8.3 kB) Copy SHA256 hash SHA256 Source None Dec 30, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page