Контекст:
Представьте, что у вас есть стандартное приложение CherryPy hello word:
def index(self):
return "Hello world!"
index.exposed = True
и вы хотели бы выполнить некоторую постобработку, то есть записать обработку запроса или просто зарегистрировать тот факт, что нам звонили с определенного IP. Что бы вы сделали, вероятно:
def index(self):
self.RunMyPostProcessing()
return "Hello world!"
index.exposed = True
Однако это увеличит время обработки вашего запроса. (Кстати. Возможно, вы будете использовать декораторы или даже какой-нибудь более сложный метод, если хотите вызывать его для каждой функции).
Вопрос:
Есть ли способ создания очереди (буфера), поддерживающей глобальную многопоточность, в которую каждый запрос может записывать сообщения (события), которые должны быть зарегистрированы, в то время как какая-то магическая функция будет захватывать его и обрабатывать? Знаете ли вы образец для такой вещи?
Могу поспорить, что CherryPy поддерживает что-то подобное: -)
Заранее спасибо ...