Django Signals

What is a signal in Django? Where might you use one? What's the difference between send() and send_robust()? When might you use one over the other?

What does the following code do? What's another way of doing the same thing?

from django.core.signals import request_finished
from django.dispatch import receiver

@receiver(request_finished)
def my_callback(sender, **kwargs):
    print "Request finished!"