Проблема с пакетным заданием Azure, заканчивающаяся неизвестным кодом ошибки

У меня проблемы с пакетными заданиями 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();

И добавляем Task.

    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, и ничего не печатается ни в каких журналах.


person user2687506    schedule 19.05.2017    source источник


Ответы (1)


Чтобы диагностировать сбои для задач, вам нужно сначала проверить, установлена ​​ли CloudTask ExecutionInformation.FailureInformation (если SDK 7.0.0+ или ExecutionInformation.SchedulingError, если предыдущая версия SDK). Изучите эти поля для получения любой информации.

Для вашей конкретной задачи похоже, что это может быть связано с добавлением ссылки на пакет приложения на уровне задачи, когда вы уже сделали это на уровне пула. Попробуйте опустить task.ApplicationPackageReferences.

Дополнительную информацию о разница между пакетами приложений на уровне пула и на уровне задач и какой из них лучше всего подходит для вашего сценария.

person fpark    schedule 19.05.2017