Rename clear_webhooks signal to clear_events

This commit is contained in:
Jeremy Stretch 2023-11-28 08:42:11 -05:00
parent 43eef0effe
commit f68b8126dd
5 changed files with 25 additions and 25 deletions

View File

@ -13,7 +13,7 @@ from core.models import Job
from extras.api.serializers import ScriptOutputSerializer from extras.api.serializers import ScriptOutputSerializer
from extras.context_managers import event_tracking from extras.context_managers import event_tracking
from extras.scripts import get_module_and_script from extras.scripts import get_module_and_script
from extras.signals import clear_webhooks from extras.signals import clear_events
from utilities.exceptions import AbortTransaction from utilities.exceptions import AbortTransaction
from utilities.utils import NetBoxFakeRequest from utilities.utils import NetBoxFakeRequest
@ -47,7 +47,7 @@ class Command(BaseCommand):
raise AbortTransaction() raise AbortTransaction()
except AbortTransaction: except AbortTransaction:
script.log_info("Database changes have been reverted automatically.") script.log_info("Database changes have been reverted automatically.")
clear_webhooks.send(request) clear_events.send(request)
job.data = ScriptOutputSerializer(script).data job.data = ScriptOutputSerializer(script).data
job.terminate() job.terminate()
except Exception as e: except Exception as e:
@ -57,7 +57,7 @@ class Command(BaseCommand):
) )
script.log_info("Database changes have been reverted due to error.") script.log_info("Database changes have been reverted due to error.")
logger.error(f"Exception raised during script execution: {e}") logger.error(f"Exception raised during script execution: {e}")
clear_webhooks.send(request) clear_events.send(request)
job.data = ScriptOutputSerializer(script).data job.data = ScriptOutputSerializer(script).data
job.terminate(status=JobStatusChoices.STATUS_ERRORED, error=str(e)) job.terminate(status=JobStatusChoices.STATUS_ERRORED, error=str(e))

View File

@ -17,7 +17,7 @@ from core.models import Job
from extras.api.serializers import ScriptOutputSerializer from extras.api.serializers import ScriptOutputSerializer
from extras.choices import LogLevelChoices from extras.choices import LogLevelChoices
from extras.models import ScriptModule from extras.models import ScriptModule
from extras.signals import clear_webhooks from extras.signals import clear_events
from ipam.formfields import IPAddressFormField, IPNetworkFormField from ipam.formfields import IPAddressFormField, IPNetworkFormField
from ipam.validators import MaxPrefixLengthValidator, MinPrefixLengthValidator, prefix_validator from ipam.validators import MaxPrefixLengthValidator, MinPrefixLengthValidator, prefix_validator
from utilities.exceptions import AbortScript, AbortTransaction from utilities.exceptions import AbortScript, AbortTransaction
@ -514,7 +514,7 @@ def run_script(data, job, request=None, commit=True, **kwargs):
except AbortTransaction: except AbortTransaction:
script.log_info("Database changes have been reverted automatically.") script.log_info("Database changes have been reverted automatically.")
if request: if request:
clear_webhooks.send(request) clear_events.send(request)
job.data = ScriptOutputSerializer(script).data job.data = ScriptOutputSerializer(script).data
job.terminate() job.terminate()
except Exception as e: except Exception as e:
@ -529,7 +529,7 @@ def run_script(data, job, request=None, commit=True, **kwargs):
job.data = ScriptOutputSerializer(script).data job.data = ScriptOutputSerializer(script).data
job.terminate(status=JobStatusChoices.STATUS_ERRORED, error=str(e)) job.terminate(status=JobStatusChoices.STATUS_ERRORED, error=str(e))
if request: if request:
clear_webhooks.send(request) clear_events.send(request)
logger.info(f"Script completed in {job.duration}") logger.info(f"Script completed in {job.duration}")

View File

@ -21,8 +21,8 @@ from .models import ConfigRevision, CustomField, ObjectChange, TaggedItem
# Change logging/webhooks # Change logging/webhooks
# #
# Define a custom signal that can be sent to clear any queued webhooks # Define a custom signal that can be sent to clear any queued events
clear_webhooks = Signal() clear_events = Signal()
def is_same_object(instance, webhook_data, request_id): def is_same_object(instance, webhook_data, request_id):
@ -125,13 +125,13 @@ def handle_deleted_object(sender, instance, **kwargs):
model_deletes.labels(instance._meta.model_name).inc() model_deletes.labels(instance._meta.model_name).inc()
@receiver(clear_webhooks) @receiver(clear_events)
def clear_webhook_queue(sender, **kwargs): def clear_events_queue(sender, **kwargs):
""" """
Delete any queued webhooks (e.g. because of an aborted bulk transaction) Delete any queued events (e.g. because of an aborted bulk transaction)
""" """
logger = logging.getLogger('webhooks') logger = logging.getLogger('events')
logger.info(f"Clearing {len(events_queue.get())} queued webhooks ({sender})") logger.info(f"Clearing {len(events_queue.get())} queued events ({sender})")
events_queue.set([]) events_queue.set([])

View File

@ -17,7 +17,7 @@ from django.utils.safestring import mark_safe
from django_tables2.export import TableExport from django_tables2.export import TableExport
from extras.models import ExportTemplate from extras.models import ExportTemplate
from extras.signals import clear_webhooks from extras.signals import clear_events
from utilities.error_handlers import handle_protectederror from utilities.error_handlers import handle_protectederror
from utilities.exceptions import AbortRequest, AbortTransaction, PermissionsViolation from utilities.exceptions import AbortRequest, AbortTransaction, PermissionsViolation
from utilities.forms import BulkRenameForm, ConfirmationForm, restrict_form_fields from utilities.forms import BulkRenameForm, ConfirmationForm, restrict_form_fields
@ -279,7 +279,7 @@ class BulkCreateView(GetReturnURLMixin, BaseMultiObjectView):
except (AbortRequest, PermissionsViolation) as e: except (AbortRequest, PermissionsViolation) as e:
logger.debug(e.message) logger.debug(e.message)
form.add_error(None, e.message) form.add_error(None, e.message)
clear_webhooks.send(sender=self) clear_events.send(sender=self)
else: else:
logger.debug("Form validation failed") logger.debug("Form validation failed")
@ -470,12 +470,12 @@ class BulkImportView(GetReturnURLMixin, BaseMultiObjectView):
return redirect(results_url) return redirect(results_url)
except (AbortTransaction, ValidationError): except (AbortTransaction, ValidationError):
clear_webhooks.send(sender=self) clear_events.send(sender=self)
except (AbortRequest, PermissionsViolation) as e: except (AbortRequest, PermissionsViolation) as e:
logger.debug(e.message) logger.debug(e.message)
form.add_error(None, e.message) form.add_error(None, e.message)
clear_webhooks.send(sender=self) clear_events.send(sender=self)
else: else:
logger.debug("Form validation failed") logger.debug("Form validation failed")
@ -628,12 +628,12 @@ class BulkEditView(GetReturnURLMixin, BaseMultiObjectView):
except ValidationError as e: except ValidationError as e:
messages.error(self.request, ", ".join(e.messages)) messages.error(self.request, ", ".join(e.messages))
clear_webhooks.send(sender=self) clear_events.send(sender=self)
except (AbortRequest, PermissionsViolation) as e: except (AbortRequest, PermissionsViolation) as e:
logger.debug(e.message) logger.debug(e.message)
form.add_error(None, e.message) form.add_error(None, e.message)
clear_webhooks.send(sender=self) clear_events.send(sender=self)
else: else:
logger.debug("Form validation failed") logger.debug("Form validation failed")
@ -729,7 +729,7 @@ class BulkRenameView(GetReturnURLMixin, BaseMultiObjectView):
except (AbortRequest, PermissionsViolation) as e: except (AbortRequest, PermissionsViolation) as e:
logger.debug(e.message) logger.debug(e.message)
form.add_error(None, e.message) form.add_error(None, e.message)
clear_webhooks.send(sender=self) clear_events.send(sender=self)
else: else:
form = self.form(initial={'pk': request.POST.getlist('pk')}) form = self.form(initial={'pk': request.POST.getlist('pk')})
@ -923,12 +923,12 @@ class BulkComponentCreateView(GetReturnURLMixin, BaseMultiObjectView):
raise PermissionsViolation raise PermissionsViolation
except IntegrityError: except IntegrityError:
clear_webhooks.send(sender=self) clear_events.send(sender=self)
except (AbortRequest, PermissionsViolation) as e: except (AbortRequest, PermissionsViolation) as e:
logger.debug(e.message) logger.debug(e.message)
form.add_error(None, e.message) form.add_error(None, e.message)
clear_webhooks.send(sender=self) clear_events.send(sender=self)
if not form.errors: if not form.errors:
msg = "Added {} {} to {} {}.".format( msg = "Added {} {} to {} {}.".format(

View File

@ -11,7 +11,7 @@ from django.urls import reverse
from django.utils.html import escape from django.utils.html import escape
from django.utils.safestring import mark_safe from django.utils.safestring import mark_safe
from extras.signals import clear_webhooks from extras.signals import clear_events
from utilities.error_handlers import handle_protectederror from utilities.error_handlers import handle_protectederror
from utilities.exceptions import AbortRequest, PermissionsViolation from utilities.exceptions import AbortRequest, PermissionsViolation
from utilities.forms import ConfirmationForm, restrict_form_fields from utilities.forms import ConfirmationForm, restrict_form_fields
@ -300,7 +300,7 @@ class ObjectEditView(GetReturnURLMixin, BaseObjectView):
except (AbortRequest, PermissionsViolation) as e: except (AbortRequest, PermissionsViolation) as e:
logger.debug(e.message) logger.debug(e.message)
form.add_error(None, e.message) form.add_error(None, e.message)
clear_webhooks.send(sender=self) clear_events.send(sender=self)
else: else:
logger.debug("Form validation failed") logger.debug("Form validation failed")
@ -528,7 +528,7 @@ class ComponentCreateView(GetReturnURLMixin, BaseObjectView):
except (AbortRequest, PermissionsViolation) as e: except (AbortRequest, PermissionsViolation) as e:
logger.debug(e.message) logger.debug(e.message)
form.add_error(None, e.message) form.add_error(None, e.message)
clear_webhooks.send(sender=self) clear_events.send(sender=self)
return render(request, self.template_name, { return render(request, self.template_name, {
'object': instance, 'object': instance,