某些功能应该在 Web 服务器上异步运行。发送电子邮件或数据后处理是典型的用例。
编写装饰器函数以异步运行函数的最佳(或最 Pythonic)方法是什么?
我的设置很常见: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