From 00f306935b0f5cb0e03b807b17afa946d58cbdf0 Mon Sep 17 00:00:00 2001 From: rstijerina Date: Mon, 12 Apr 2021 17:27:06 -0500 Subject: [PATCH] add rebuild_index haystack signal processor --- taccsite_cms/settings.py | 1 + taccsite_cms/signal_processor.py | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 taccsite_cms/signal_processor.py diff --git a/taccsite_cms/settings.py b/taccsite_cms/settings.py index 417ae44a3..3ecba0b57 100644 --- a/taccsite_cms/settings.py +++ b/taccsite_cms/settings.py @@ -460,6 +460,7 @@ def get_subdirs_as_module_names(path): # Elasticsearch Indexing HAYSTACK_ROUTERS = ['aldryn_search.router.LanguageRouter',] +HAYSTACK_SIGNAL_PROCESSOR = 'taccsite_cms.signal_processor.RealtimeSignalProcessor' ALDRYN_SEARCH_DEFAULT_LANGUAGE = 'en' ALDRYN_SEARCH_REGISTER_APPHOOK = True HAYSTACK_CONNECTIONS = { diff --git a/taccsite_cms/signal_processor.py b/taccsite_cms/signal_processor.py new file mode 100644 index 000000000..4fc1f5ad2 --- /dev/null +++ b/taccsite_cms/signal_processor.py @@ -0,0 +1,21 @@ +from haystack.signals import BaseSignalProcessor +from django.db import models +from cms import signals +from django.core.management import call_command + + +class RealtimeSignalProcessor(BaseSignalProcessor): + + def setup(self): + signals.post_publish.connect(self.handle_save) + signals.post_unpublish.connect(self.handle_save) + models.signals.post_delete.connect(self.handle_save) + + + def teardown(self): + signals.post_publish.disconnect(self.handle_save) + signals.post_unpublish.disconnect(self.handle_save) + models.signals.post_delete.disconnect(self.handle_save) + + def handle_save(self, **kwargs): + call_command('rebuild_index', '--noinput')