一部の機能は、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