An app for integrating Celery with Haystack.
Project description
This Django app allows you to utilize Celery for automatically updating and deleting objects in a Haystack search index.
Requirements
You also need to install your choice of one of the supported search engines for Haystack and one of the supported backends for Celery.
Installation
Use your favorite Python package manager to install the app from PyPI, e.g.:
pip install celery-haystack
By default a few dependencies will automatically be installed:
django-appconf – An app to gracefully handle application settings.
django-celery-transactions – An app that “holds on to Celery tasks until the current database transaction is committed, avoiding potential race conditions as described in Celery’s user guide.”
Usage
Haystack 1.X
Add 'celery_haystack' to the INSTALLED_APPS setting
INSTALLED_APPS = [ # .. 'celery_haystack', ]
Alter all of your SearchIndex subclasses to inherit from celery_haystack.indexes.CelerySearchIndex
from haystack import site from celery_haystack.indexes import CelerySearchIndex from myapp.models import Note class NoteIndex(CelerySearchIndex): text = indexes.CharField(document=True, model_attr='content') site.register(Note, NoteIndex)
Ensure your Celery instance is running.
Haystack 2.X
Add 'celery_haystack' to the INSTALLED_APPS setting
INSTALLED_APPS = [ # .. 'celery_haystack', ]
Enable the celery-haystack signal processor in the settings
HAYSTACK_SIGNAL_PROCESSOR = 'celery_haystack.signals.CelerySignalProcessor'
Alter all of your SearchIndex subclasses to inherit from celery_haystack.indexes.CelerySearchIndex and haystack.indexes.Indexable
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
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.
Issues
Please use the Github issue tracker for any bug reports or feature requests.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.