Шеф-повар — Пользовательский ресурс — Как уведомлять только в том случае, если содержимое ресурса обновляет файл?
Я не уверен, правильно ли я понял концепцию уведомления других ресурсов на основе пользовательского ресурса. У меня есть ресурс:
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.
Я имею в виду, что ресурс файла в конце концов действует одинаково. Он обновляет или создает файл под капотом и уведомляет только другой ресурс вместо того, чтобы уведомлять его каждый раз, когда он выполняется без каких-либо изменений.
Как можно реализовать такое поведение для моего ресурса?