コンテキスト: 標準のCherryPyhellowordアプリがあると想像してください。
def index(self):
return "Hello world!"
index.exposed = True
後処理、つまりリクエスト処理を記録するか、特定のIPから呼び出されたという事実をログに記録したいとします。あなたがすることはおそらく:
def index(self):
self.RunMyPostProcessing()
return "Hello world!"
index.exposed = True
ただし、これによりリクエストの処理時間が長くなります。(ところで、すべての関数で呼び出したい場合は、おそらくデコレータ、またはさらに洗練されたメソッドを使用します)。
質問: ログに記録する必要のあるメッセージ(イベント)を各リクエストが書き込むことができるグローバルスレッド対応キュー(バッファー)を作成する方法はありますか?魔法の関数がそれを取得して後処理しますか?そのようなもののパターンを知っていますか?
CherryPyはそのようなものをサポートしているに違いない:-)
前もって感謝します...