diff --git a/completion_aggregator/dispatch.py b/completion_aggregator/dispatch.py new file mode 100644 index 00000000..a442a05b --- /dev/null +++ b/completion_aggregator/dispatch.py @@ -0,0 +1,3 @@ +from django.dispatch import Signal + +AggregatorUpdate = Signal(providing_args=['aggregation_data']) diff --git a/completion_aggregator/models.py b/completion_aggregator/models.py index c1fde462..b8447411 100644 --- a/completion_aggregator/models.py +++ b/completion_aggregator/models.py @@ -18,7 +18,7 @@ from model_utils.models import TimeStampedModel from .utils import get_percent, make_datetime_timezone_unaware - +from .dispatch import AggregatorUpdate User = get_user_model() INSERT_OR_UPDATE_AGGREGATOR_QUERY = """ @@ -194,6 +194,7 @@ def bulk_create_or_update(self, updated_aggregators): else: aggregation_data = [obj.get_values() for obj in updated_aggregators] cur.executemany(INSERT_OR_UPDATE_AGGREGATOR_QUERY, aggregation_data) + AggregatorUpdate.send(sender=self.__class__, aggregation_data=aggregation_data) class Aggregator(TimeStampedModel): diff --git a/completion_aggregator/signals.py b/completion_aggregator/signals.py index 2edce223..664c586a 100644 --- a/completion_aggregator/signals.py +++ b/completion_aggregator/signals.py @@ -15,7 +15,6 @@ log = logging.getLogger(__name__) - def register(): """ Register signal handlers.