Многопоточность для Python Django
Некоторые функции должны запускаться асинхронно на веб-сервере. Отправка электронных писем или пост-обработка данных являются типичными случаями использования.
Каков наилучший (или наиболее питонический) способ написать функцию декоратора для асинхронного запуска функции?
Моя установка обычная: Python, Django, Gunicorn или Waitress, стандарт AWS EC2 Linux
Например, здесьначало:
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
желаемое использование:
@postpone
def foo():
pass #do stuff