gpt4 book ai didi

python - Nomad 中的多个 bash 命令

转载 作者:行者123 更新时间:2023-12-01 02:30:48 28 4
gpt4 key购买 nike

我有一个按顺序运行多个 Python 脚本的应用程序。我可以在 docker-compose 中运行它们,如下所示:

command: >
bash -c "python -m module_a &&
python -m module_b &&
python -m module_c"

现在,我在 Nomad 中安排作业,并在 Docker 驱动程序的配置下添加了以下命令:

command = "/bin/bash"
args = ["-c", "python -m module_a", "&&","
"python -m module_b", "&&",
"python -m module_c"]

但是Nomad似乎逃避了&&,只运行第一个模块,并发出退出代码0。有没有办法运行类似于docker-compose的多行命令?

最佳答案

以下内容保证与 exec 驱动程序一起使用:

command = "/bin/bash"
args = [
"-c", ## next argument is a shell script
"for module; do python -m \"$module\" || exit; done", ## this is that script.
"_", ## passed as $0 to the script
"module_a", "module_b", "module_c" ## passed as $1, $2, and $3
]

请注意,只有一个参数作为脚本传递 - 紧跟在 -c 之后的参数。后续参数是该脚本的参数,而不是其他脚本或脚本片段。

<小时/>

更简单,你可以运行:

command = "/bin/bash"
args = ["-c", "python -m module_a && python -m module_b && python -m module_c" ]

关于python - Nomad 中的多个 bash 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46841878/

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