in packages/azure-services/src/azure-batch/batch.ts [57:95]
public async getFailedTasks(jobId: string): Promise<BatchTask[]> {
const batchTasks: BatchTask[] = [];
const tasks = await this.getFailedTaskList(jobId);
tasks.map((task) => {
const taskArguments =
task.environmentSettings !== undefined ? task.environmentSettings.find((e) => e.name === 'TASK_ARGUMENTS') : undefined;
let failureInfo: BatchTaskFailureInfo;
if (task.executionInfo.failureInfo !== undefined) {
let message = '';
if (task.executionInfo.failureInfo.details !== undefined) {
task.executionInfo.failureInfo.details.forEach((details) => {
message = `${message}${details.name}: ${details.value}, `;
});
message = message.slice(0, -2);
} else {
message = task.executionInfo.failureInfo.message;
}
failureInfo = {
category: task.executionInfo.failureInfo.category as BatchTaskErrorCategory,
code: task.executionInfo.failureInfo.code,
message,
};
}
batchTasks.push({
id: task.id,
correlationId: getTaskCorrelationId(task.id),
taskArguments: taskArguments !== undefined ? taskArguments.value : undefined,
exitCode: task.executionInfo.exitCode,
result: task.executionInfo.result,
failureInfo,
timestamp: task.stateTransitionTime,
});
});
return batchTasks;
}