Шеф-повар — Пользовательский ресурс — Как уведомлять только в том случае, если содержимое ресурса обновляет файл?

Я не уверен, правильно ли я понял концепцию уведомления других ресурсов на основе пользовательского ресурса. У меня есть ресурс:

      get_api_calls 'www.myapi.com' do
  request '<myrequest>'
  target_path '/<my>/<target>/<filepath>
  notifies :reload, 'service[apache]', :delayed
end

Этот демонстрационный ресурс является вымышленным, но показывает, что я хочу сделать. Под капотом он запрашивает API, загружает необходимый файл и сохраняет его в my_target_filepath. Каждый раз, когда я запускаю код Chef сверху, он перезагружает Apache. Это имеет смысл, потому что я говорю DSL перезагружать ресурс каждый раз, когда он выполняется. Но я не хочу такого поведения. Я хочу запретить перезагружать Apache, если файл был загружен и обновлен только из API.

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

Как можно реализовать такое поведение для моего ресурса?

0 ответов

Другие вопросы по тегам