Azure Batch Job问题,以未知错误代码结尾

问题描述 投票:0回答:1

我遇到Azure批处理作业问题。我正在尝试创建一个应用程序池,创建一个CloudTask,然后执行我的应用程序包在线。

你看到一些不正常的东西吗?

这是现在使用的代码。主要代码:

        await CreatePoolAsync(batchClient, currentPoolId, applicationFiles);

        await CreateJobAsync(batchClient, currentJobId, currentPoolId);

        await AddTasksAsync(batchClient, currentJobId, inputFiles, optimizationId, outputContainerSasUrl);

创建池:

    CloudPool pool = batchClient.PoolOperations.CreatePool(
        poolId: poolId,
        targetDedicated: 1, // 3 compute nodes
        virtualMachineSize: "small", // single-core, 1.75 GB memory, 225 GB disk
        cloudServiceConfiguration: new CloudServiceConfiguration(osFamily: "4")); // Windows Server 2012 R2

    pool.ApplicationPackageReferences = new List<ApplicationPackageReference>
    {
        new ApplicationPackageReference
        {
            ApplicationId = "my_app"
        }
    };

创造工作:

    CloudJob job = batchClient.JobOperations.CreateJob();
    job.Id = jobId;
    job.PoolInformation = new PoolInformation {PoolId = poolId};

    await job.CommitAsync();

并添加任务。

    string taskId = "myAppEngineTask";
    string taskCommandLine = $"cmd /c %AZ_BATCH_APP_PACKAGE_MY_APP%\\MyApp.Console.exe -a NSGA2 -r 1000 -m db -i {optimizationId}";

    CloudTask task = new CloudTask(taskId, taskCommandLine);
    task.ApplicationPackageReferences = new List<ApplicationPackageReference>
    {
        new ApplicationPackageReference
        {
            ApplicationId = "my_app"
        }
    };

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

完成添加任务后,一切似乎都已启动并运行,但我收到错误代码:-2146232576并且没有任何内容打印到任何日志。

c# azure azure-batch
1个回答
0
投票

要诊断任务失败,您需要首先查看是否设置了CloudTask ExecutionInformation.FailureInformation(如果SDK 7.0.0+或ExecutionInformation.SchedulingError,如果之前的SDK版本)。检查这些字段以获取任何信息。

对于您的特定任务,看起来它可能与您在池级别已经完成此任务级别的应用程序包引用相关。尝试省略task.ApplicationPackageReferences

有关池级和任务级应用程序包之间差异的更多信息,请参阅Application Package Documentation,哪一个最适合您的场景。

© www.soinside.com 2019 - 2024. All rights reserved.