Azure Batch中的任务失败和退出代码-532462766

时间:2017-10-31 05:18:15

标签: azure azure-batch

我正在尝试在Azure Batch中运行控制台应用程序。我创建了客户端应用程序,负责创建和运行Job&到目前为止Azure批处理中的任务。我的ClientApplication成功创建了作业,作业中的任务,但是当Azure上的应用程序代码在Azure池中执行时,任务失败并退出,退出代码为-532462766。我找不到此退出代码的任何信息。请帮我解决这个问题。

这是我创建任务的代码及其配置

    private static async Task<List<CloudTask>> AddTasksAsync(BatchClient batchClient, string jobId)
    {
        Console.WriteLine("Adding {0} tasks to job [{1}]...", 1, jobId);

        List<CloudTask> tasks = new List<CloudTask>();

        string taskId = "topNtask";
        string taskCommandLine = String.Format("cmd /c %AZ_BATCH_NODE_SHARED_DIR%\\SelfHostedWebAPI.exe {0} {1} {2}", 11109, "MSS_F_MST_______", "Normal");
        //string taskCommandLine = String.Format("cmd /c %AZ_BATCH_NODE_SHARED_DIR%\\SelfHostedWebAPI.exe");

        CloudTask task = new CloudTask(taskId, taskCommandLine);
        tasks.Add(task);

        await batchClient.JobOperations.AddTaskAsync(jobId, tasks);

        return tasks;
    }

来自Azure门户的任务失败报告

enter image description here

2 个答案:

答案 0 :(得分:0)

-532462766的相应十六进制值为0xE0434352;有关此错误代码/异常的更多信息,请参阅此SO post。常见的罪魁祸首是缺少程序集(参见Assembly Binding Log Viewer)。此外,Windows事件查看器可能在必须使用WinDbg和SOS之前为您提供更多信息。

答案 1 :(得分:0)

最后,我得到了这个问题的解决方案,并在这里节省宝贵的时间是解决方案。 我们需要将Azure池中运行的代码的每个.dll文件和依赖项上传到链接的AzureStorage帐户。此外,在创建池并初始化它时,为每个.dll文件添加一个StartTask,其中包含SAS(共享访问签名,对于它指向的目标.dll)或任何其他类型,应作为参数给予它。