Bungiesearch的Celery信号处理器
项目描述
一个仓库,将提供的Bungiesearch信号处理类封装在自己的celery任务中。
这个Django应用程序允许您使用Celery自动更新和删除Bungiesearch搜索索引中的对象。
与Bungiesearch的最新版本兼容,类似于Haystack,但直接与elasticsearch-dsl交互,因此允许使用更多的自定义排名函数。
安装
pip install celery-bungiesearch
要求
Django 1.4.3+
Bungiesearch 1.2.1+
Celery 3.1.18+
用法
1. 在设置中将'celery_bungiesearch'添加到INSTALLED_APPS
INSTALLED_APPS = [
# ..
'celery_bungiesearch',
]
2. 在设置中将CelerySignalProcessor添加到settings.BUNGIESEARCH['SIGNAL_CLASS']。这将确保任何由BungiesearchManager管理的模型都获得CelerySignalProcessor作为信号处理器。
from celery_bungiesearch import CelerySignalProcessor
BUNGIESEARCH = {
# ..
'SIGNALS': {
'SIGNAL_CLASS': 'celery_bungiesearch.signals.CelerySignalProcessor',
'BUFFER_SIZE' : 100
}
}
3. 在您的设置文件中添加celery-bungisearch配置变量。以下任务为默认版本,但您可以根据需要包含自己的自定义类(注意,以下环境变量都不是必需的,可以完全从设置文件中排除)
CELERY_BUNGIESEARCH_QUEUE = None
CELERY_BUNGIESEARCH_TASK = 'Your custom index task path'
CELERY_BUNGIESEARCH_CUSTOM_TASK = 'Your custom celery task path'
4. 确保您的Celery实例正在运行。
测试
您可以通过运行命令tox或tox test在本地运行celery-bungiesearch的测试。您必须有一个本地的elasticsearch实例。您还可以使用Travis CI进行持续集成测试(在README顶部的构建状态)。
谢谢
此应用程序大量借鉴了Jannis Leidel的celery-haystack以及Christopher Rabotin的Bungiesearch,后者是本项目灵感的来源。
问题
请提交拉取请求或使用Github问题跟踪器进行任何错误修复、错误报告或功能请求。
项目详情
celery-bungiesearch-1.2.4.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8ea45450066b9bdee2c4821b00d8888d71f41d94cfd1daeccc30a58b72b0103a |
|
MD5 | 726dc1af205533917b742c46f0b84a23 |
|
BLAKE2b-256 | 15c8d7157c9e5560fc250ec0a5166548f6f70b4e3f466ea53b9327d7210c86c5 |