ActiveSupport::Notifications получает доступ к полезной нагрузке из внутреннего блока

Недавно я узнал о ActiveSupport::Notifications. Я думаю, что это отличный инструмент для мониторинга ваших приложений.

В настоящее время я использую его вне Rails для мониторинга моего приложения Sinatra, и оно отлично работает.

Однако я часто использую его для обработки пользовательских запросов и хотел бы каким-то образом уведомлять о результате запроса:

my_input = "some_query"
ActiveSupport::Notifications.instrument("myapp.create", :input => my_input) do
  #stuff
  result = search_for my_input
  #stuff
  result
end

Теперь я могу подписаться на это, а также могу получить выполненный запрос (который доступен в хэш полезной нагрузки). Но я также хотел бы видеть результат в моем подписчике.

Итак, есть ли способ добавить любое пользовательское значение в полезную нагрузку во время выполнения блока?

0
задан leifg 11 June 2012 в 07:41
поделиться