public async getFailedTasks()

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;
    }