Azure批处理服务任务退出代码错误

时间:2017-08-09 14:48:04

标签: .net azure batch-processing azure-batch

我下载了.NET Tutorial示例以开始使用Azure Batch。

我的目标是自动化(每2分钟运行一次)web api调用并将我返回的数据存储到数据存储容器中。

问题是我在我的池中的节点(VM)上执行的Task正在返回失败,Exact错误是“退出的任务,退出代码表示失败”。

所以我继续打印导致失败的错误退出代码。退出代码是-1073741819。但是这告诉我什么?我在网上找不到任何告诉我退出代码代表什么的东西???如何解决?

有时当我再次运行它时,它会在另一个退出代码-532462766上失败。如何在Azure中调试VM上发生的故障?

1 个答案:

答案 0 :(得分:2)

您可以查看任务的stderr.txtstdout.txt文件,以便更深入地了解该问题。查看这些文件的最简单方法是转到Azure Portal并导航到您的批处理帐户。您可以单击Jobs,这将展开作业刀片。单击相关任务,然后单击Files on node。您应该看到stderr.txtstdout.txt以供查看。您还可以通过.NET SDK通过CloudTask.GetNodeFile/GetNodeFileAsync以编程方式检索这些文件。

您还可以RDP进入计算节点并查看Windows事件查看器,以进一步了解程序崩溃的原因。您可以通过Azure门户生成RDP凭据,方法是导航到执行任务的计算节点(池 - >选择池 - >节点 - >>选择节点)并添加远程用户。

就退出代码而言,-1073741819是C0000005(似乎是访问冲突),-532462766是E0434352(似乎是CLR例外)。您将需要对代码产生这些错误的原因进行一些研究。一个完整性检查是确保您将所有必需的DLL和程序集与程序一起打包为应用程序包或任务资源文件。