尽管Chef中有多个通知,但只执行一次服务

时间:2017-05-23 04:40:04

标签: chef

我目前在Chef中通过模板创建了两个文件。这两个模板当前都在修改时通知服务。

template '/etc/file1' do
    source 'file1.erb'
    owner 'root'
    group 'root'
    mode '644'
    notifies :restart, 'service[foo]'
end

template '/etc/file2' do
    source 'file2.erb'
    owner 'root'
    group 'root'
    mode '600'
    notifies :restart, 'service[foo]'
end

service "foo" do
    action :nothing
end

有没有办法只在这些文件中的任何一个被更改时才能调用服务?原因是因为如果两个文件都被更改,我想避免执行两个“foo”实例。

1 个答案:

答案 0 :(得分:2)

在您的示例中,'foo'服务将仅被通知一次(并且仅执行一次),并且仅在任何文件发生更改时通知。正如您所期望的那样。