chef-infra - 如何运行第一个批处理文件并转到第二个批处理文件而不等待完成第一个批处理文件
问题描述
我想在厨师中运行两个不同的批处理文件。问题是,在执行第一个批处理文件后,它正在等待完成,然后执行批处理文件 2。不等待batchfile1完成我想执行batchfile2。
batch "run-script1" do
code "batchfile1"
cwd "path"
action :run
end
等待完成batchfile1执行然后执行batchfile2
batch "run-script2" do
code "batchfile2"
cwd "path"
action :run
end
不等待batchfile1完成我想执行batchfile2
解决方案
如果您有一个以路径位置命名的文件batchfile1
,path
并且您希望它会被执行......那么它就不会发生,因为这不是batch
资源的工作方式。
我可以假设第一个batch
资源执行失败,导致 chef-client 运行失败,因此第二个batch
资源没有执行。
批处理资源创建并执行一个临时文件(类似于脚本资源的行为方式),而不是内联运行命令。例如:
batch 'echo some env vars' do code <<-EOH echo %TEMP% echo %SYSTEMDRIVE% echo %PATH% echo %WINDIR% EOH end
推荐阅读
- python - 我正在努力使用 tkinter 关闭一个简单的小部件
- python - Django user.save() 在列“is_superuser”上失败,不能为空
- elixir - 为什么我的 Enum.reduce 基于 Enum.all 的实现?返回一个空列表?
- python - 用星号屏蔽 SSN 的前五位数字
- c - 在 C 中创建字符串并将其传递给函数的最佳方法是什么?
- python - 尽管存在 Mac,Python pandas read_csv 返回 FileNotFoundError
- sql - postgresql - 将类似查询“分组”为子查询
- ember.js - 为什么 Ember Octane 中的跟踪阵列不会更新?
- codeigniter-3 - 如何从库类中调用辅助函数
- python - Folium Search Plugin 没有 FeatureGroup 的结果