Направляющие after_save обратный вызов для создания связанного основанного на модели на column_changed?

«FunctionExecutionLogs» для функции / веб-приложения Azure в аналитике журнала Azure больше не будет поддерживаться.

Таким образом, понимание применения - лучший выбор для мониторинга функции лазури.

Ниже приведена обратная связь от команды аналитики журналов MS:

Несколько месяцев назад команда службы приложений / функций подключилась к диагностическим журналам Azure Monitor, но на самом деле они не отправляют данные журнала.

В основном, существуют тысячи регистраций диагностических установок, которые не являются операциями и фактически ничего не делают.

Недавно в последние несколько недель мы обсуждали со службой приложений возможность выпуска этой функции в течение следующих нескольких недель в качестве функции предварительного просмотра.

Это, к сожалению, серьезное изменение, поскольку только частные клиенты могут просматривать журналы диагностики для Службы приложений. Обращаем ваше внимание: фактическое влияние на клиента не оказывает никакого влияния, так как те клиенты, которые были включены ранее, никогда не работали.

Чтобы исправить сценарий развертывания, мы должны попросить клиентов обновить свой шаблон, чтобы включить только экспорт метрик, а не журналы - это не окажет никакого реального влияния на клиента.

Таким образом, с нашей стороны Log Analytics, это сценарий, который мы не поддерживаем со стороны нашей команды Log Analytics, которая уже объявлена ​​нашей производственной группой.

6
задан 31 March 2009 в 17:51
поделиться

3 ответа

Используйте a before_save обратный вызов вместо этого. Затем у Вас есть доступ и к новым и к старым значениям состояния. Обратные вызовы перенесены в транзакцию, поэтому если сохранение перестанет работать или будет отменено другим обратным вызовом, то запись истории будет откатываться также.

6
ответ дан 10 December 2019 в 00:44
поделиться

Я вижу два решения:

  1. Как Вы сказал: добавьте переменный флаг и выполните обратный вызов, когда он будет установлен.

  2. Выполненный save_history после обновления Вашей записи.

Пример:

old_status = @record.status
if @record.update\_attributes(params[:record])
  save_history_here if old_status != @record.status
  flash[:notice] = "Successful!"
  ...
else
  ...
end
0
ответ дан 10 December 2019 в 00:44
поделиться

Это могло измениться с момента публикации вопроса, но для обратного вызова after_save должны быть доступны и правильно установлены динамические методы * _ changed? :

class Order
  after_save :handle_status_changed, :if => :status_changed?
end

или

class Order
  after_save :handle_status_changed
  def handle_status_changed
    return unless status_changed?
    ...
  end
end

У меня работает правильно с Rails 2.3.2.

10
ответ дан 10 December 2019 в 00:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: