2017-05-19 33 views
0

我遇到了Azure批量作業問題。我試圖創建一個應用程序池,創建一個CloudTask,然後執行我的應用程序包在線。Azure批量作業問題,以未知錯誤代碼結尾

你看到東西不能正常工作嗎?

這是現在使用的代碼。主要代碼:

 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並沒有打印任何日誌。

回答

0

要診斷任務的故障,您需要首先查看是否設置了CloudTask ExecutionInformation.FailureInformation(如果SDK 7.0.0+或ExecutionInformation.SchedulingError,如果之前的SDK版本)。檢查這些字段的任何信息。

爲特定的任務,它看起來像它可以添加任務級應用程序包的參考,當你已經做了這涉及到你在池級。嘗試省略task.ApplicationPackageReferences

瞭解有關池級和任務級應用程序包和一個會適合您的情況最好的之間的區別的更多信息請諮詢Application Package Documentation