gpt4 book ai didi

chef-infra - Chef中的执行顺序

转载 作者:行者123 更新时间:2023-12-02 21:11:09 28 4
gpt4 key购买 nike

我对 Chef 有点陌生。我只是想知道 Chef 资源是否像 Node-js 一样。

例如,

recipe.rb

resource1 'foo' do
property value
end

resource2 'bar' do
property value
end

假设resource1是一个重量级进程,而resource2是一个轻量级进程。在这种情况下,是否有可能先执行 bar 然后执行 foo ?还是按顺序先执行foo,然后执行bar

最佳答案

Chef Recipe 是命令式的,它们会按顺序运行。运行列表也是一个将按顺序运行的数组。除非您在运行列表中多次定义相同的内容,否则只有第一个会运行。

Chef 的经营有两个阶段。编译阶段,组织需要运行哪些资源并解析所有变量。然后是实际执行每个资源的运行阶段。您可以编写在编译阶段触发操作的配方,这可能会使其看起来无序。

例如,chef_gem资源被设计为在编译阶段执行操作,因此 gem 在运行阶段可用。 compile_time 选项可用于关闭此功能。

对于一个功能示例...

ruby_block "later" do
block do
Chef::Log.info "I am first in the file"
end
end

Chef::Log.info "I am second in the file"

ruby block 是一种为以后执行而编译的资源。
ruby 代码在编译期间执行,因此首先出现。

关于chef-infra - Chef中的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33425784/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com