예제 #1
0
        public async Task <IActionResult> GetTensorBoardStatus(long id, [FromServices] IOptions <ContainerManageOptions> options)
        {
            //データの存在チェック
            var trainingHistory = await trainingHistoryRepository.GetByIdAsync(id);

            if (trainingHistory == null)
            {
                return(JsonNotFound($"Training ID {id} is not found."));
            }

            //学習履歴IDとテナントIDが等しく、Disable状態じゃないコンテナをDBから取得する
            TensorBoardContainer container = tensorBoardContainerRepository.GetAvailableContainer(id);

            //以下、Jsonで返却するパラメータ
            ContainerStatus status = ContainerStatus.None; //コンテナのステータス

            // 対象コンテナ情報が存在する場合、その結果を返す
            if (container != null)
            {
                //コンテナのステータスを最新にする
                status = await clusterManagementLogic.SyncContainerStatusAsync(container, false);
            }

            return(JsonOK(new TensorBoardOutputModel(container, status, options.Value.WebEndPoint)));
        }