Azure Batch - 任务已完成但没有执行任何操作

3
我正在尝试在Azure Batch池上运行任务。任务完成时没有错误,但没有产生任何输出。
我创建并配置了Ubuntu 18.04 LTS虚拟机,将我的.NET Core 2.1 SCA放入/usr/local/bin/MyApp中,并从此机器创建了镜像。
接下来,我使用自定义镜像创建了批量池并添加了一个低优先级节点。
当我通过ssh连接到节点时,我可以看到我的应用程序并可以按以下方式运行它:
cd /usr/local/bin/MyApp && ./MyApp some_param

这会产生预期的结果。 但是,当我在Azure门户中创建任务时:

/bin/sh -c cd /usr/local/bin/MyApp && ./MyApp some_param

这个任务执行时间不到1秒,显示任务成功,但没有产生任何结果。

我的应用程序只是从 Blob 存储中加载文件,处理它,然后再上传回 Blob 存储。

当我在门户中运行以下任务时:

/bin/sh -c pwd

输出结果为:

 /mnt/batch/tasks/workitems/processing-job/job-1/test2/wd

但是当我这样做:

/bin/sh -c cd .. && pwd

我看不到 stderr.txtstdout.txt 中的任何内容。
可能是因为它无法找到我的应用程序(并且出于某种原因没有抛出任何错误)?
我尝试将MyApp添加到$PATH中,但当我运行以下命令时:
MyApp some_param

stderr.txt 中我看到了访问被拒绝的错误。

我尝试使用管理员和非管理员用户执行它,但结果相同。

请帮忙解决。

1个回答

2
酷,这里是快速答案,希望能满足您的需求:
- 对于多个命令失败,请参见此处:Azure 批处理 - 在 Linux 虚拟机上从命令行运行多个命令 - 即在您的命令行中尝试以下内容 /bin/bash -c "cd .. && pwd" - 请注意,环境变量会在已知工作目录位置中填充。如果您还不知道,请查看此处:https://learn.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables。您可以使用这些 env 变量,例如$AZ_BATCH_TASK_DIR 中有示例代码,也可以进行尝试实验。 - https://learn.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables#command-line-expansion-of-environment-variables

1
将命令放在双引号中有所帮助。非常感谢! - 270F

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接