def relay_message()

in gnm_deliverables/signals.py [0:0]


    def relay_message(self, affected_model, action):
        from .serializers import DeliverableSerializer, DeliverableAssetSerializer

        try:
            if isinstance(affected_model, Deliverable):
                logger.info("{0} an instance of Deliverable with id {1}".format(action, affected_model.project_id))
                content = DeliverableSerializer(affected_model)
            elif isinstance(affected_model, DeliverableAsset):
                logger.info("{0} an instance of DeliverableAsset with id {1} at {2}".format(action, affected_model.pk, affected_model.absolute_path))
                content = DeliverableAssetSerializer(affected_model)
            elif affected_model.__class__.__name__=="Migration": #silently ignore this one
                content = None
            elif affected_model.__class__.__name__=="User": #silently ignore this one
                content = None
            elif affected_model.__class__.__name__ == "DailyMotion":
                content = None
            elif affected_model.__class__.__name__ == "Mainstream":
                content = None
            elif affected_model.__class__.__name__ == "YouTubeCategories":
                content = None
            elif affected_model.__class__.__name__ == "YouTubeChannels":
                content = None
            else:
                content = None
                logger.error("model_saved got an unexpected model class: {0}.{1}".format(affected_model.__class__.__module__, affected_model.__class__.__name__))

            if content:
                routing_key = "deliverables.{0}.{1}".format(affected_model.__class__.__name__.lower(), action)
                payload = JSONRenderer().render(content.data)
                self.send_content(routing_key, payload)

        except Exception as e:
            logger.error("Could not relay message of {0} on {1}: {2}".format(action, affected_model, str(e)))
            logger.exception(e) #we don't want to bring down the app here, log it out and hope somebody sees