celery-haystack

An app for integrating Celery with Haystack.

  • Owner: bradleyayers/django-celery-transactions
  • Platform:
  • License:: Other
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

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

Main metrics

Overview
Name With Ownerbradleyayers/django-celery-transactions
Primary LanguagePython
Program languagePython (Language Count: 1)
Platform
License:Other
所有者活动
Created At2012-01-27 10:51:29
Pushed At2021-12-14 21:20:08
Last Commit At2012-12-14 12:57:50
Release Count0
用户参与
Stargazers Count194
Watchers Count9
Fork Count55
Commits Count19
Has Issues Enabled
Issues Count9
Issue Open Count6
Pull Requests Count2
Pull Requests Open Count6
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private