Multihilo para Django de Python

Algunas funciones deben ejecutarse de forma asíncrona en el servidor web. El envío de correos electrónicos o el posprocesamiento de datos son casos de uso típicos.

¿Cuál es la mejor manera (o la mayoría de las formas pitónicas) de escribir una función decoradora para ejecutar una función de forma asíncrona?

Mi configuración es común: Python, Django, Gunicorn o Waitress, estándar de AWS EC2 Linux

Por ejemplo, aquí hay un comienzo:

from threading import Thread

def postpone(function):
    def decorator(*args, **kwargs):
        t = Thread(target = function, args=args, kwargs=kwargs)
        t.daemon = True
        t.start()
    return decorator

uso deseado:

@postpone
def foo():
    pass #do stuff

Respuestas a la pregunta(4)

Su respuesta a la pregunta