Chef infra 如何覆盖来自另一个配方的通知

Chef infra 如何覆盖来自另一个配方的通知,chef-infra,Chef Infra,我想知道如何覆盖来自另一个菜谱(厨师包装)的通知服务。例如,我有一个配方a,其中定义了所有服务的启动和停止。我希望覆盖RecipeB的这些通知。最好将此服务放在它自己的配方中,这样您就可以简单地将其包含在RecipeA中,而不是包含在RecipeB中 或者,这是一种黑客行为,您可以简单地向RecipeB添加另一个服务部分,并确保它再次停止(操作[:禁用,:停止])。但是,这并不理想,因为它会导致服务在每次运行开始时打开,然后在运行结束时再次关闭。您只需这样做。关于通知的任何内容都不限于烹饪书。您

我想知道如何覆盖来自另一个菜谱(厨师包装)的通知服务。例如,我有一个配方a,其中定义了所有服务的启动和停止。我希望覆盖RecipeB的这些通知。

最好将此服务放在它自己的配方中,这样您就可以简单地将其包含在RecipeA中,而不是包含在RecipeB中


或者,这是一种黑客行为,您可以简单地向RecipeB添加另一个
服务
部分,并确保它再次停止(
操作[:禁用,:停止]
)。但是,这并不理想,因为它会导致服务在每次运行开始时打开,然后在运行结束时再次关闭。

您只需这样做。关于通知的任何内容都不限于烹饪书。您只需要知道目标资源的类型和名称

这对我来说是行不通的。我正在寻找的解决方案是,我有一个菜谱a,其中所有的服务开始停止,我没有权限修改菜谱a食谱,因此我决定编写自己的包装来管理RecipeA服务。我需要一个帮助来设置配方B中的Notify delayed。很难理解“所有服务启动-停止”是什么意思。也不清楚“Notify”(大写)是否是特定服务/守护进程的名称或其他名称。也许特定的代码会让你更容易理解你的问题。。我有一个Receipe A,它有Apache安装和配置,同样的配方有httpd服务重启。现在,我必须向apache目录添加一些conf文件,并从配方B重新启动apache服务。如果您在RecipeB中尝试的只是重新加载apache配置,那么只需在RecipeB中使用
服务
资源中的
:reload
操作就足够了,并且不会导致重新启动(因此没有停机)。