コード例 #1
0
        private async Task PollForRunIdAsync(int runId)
        {
            _watch.Reset();
            _watch.Start();
            while (_isPolling)
            {
                var response = await _databricksWebApiClient.JobsRunsGetAsync(runId);

                JobsJson = JsonConvert.SerializeObject(response, Formatting.Indented);
                var state = response.state;
                this.Status = "Job not complete polling for completion.\r\n" +
                              $"Job has been running for {_watch.Elapsed.Seconds} seconds";

                try
                {
                    if (!string.IsNullOrEmpty(state.result_state))
                    {
                        _isPolling = false;
                        IsBusy     = false;
                        _messageBoxService.ShowInformation(
                            $"Job finnished with Status : {state.result_state}");
                    }
                    else
                    {
                        switch (state.life_cycle_state)
                        {
                        case "TERMINATING":
                        case "RUNNING":
                        case "PENDING":
                            break;

                        case "SKIPPED":
                        case "TERMINATED":
                        case "INTERNAL_ERROR":
                            _isPolling = false;
                            IsBusy     = false;
                            break;
                        }
                    }
                }
                finally
                {
                    if (_isPolling)
                    {
                        await Task.Delay(5000);
                    }
                }
            }
        }
コード例 #2
0
        private async Task <object> ExecuteJobsRunsGetCommandAsync(object param)
        {
            if (!_runId.HasValue)
            {
                _messageBoxService.ShowError("You must supply 'RunId'");
                return(System.Threading.Tasks.Task.FromResult <object>(null));
            }

            try
            {
                var runResponse = await _databricksWebApiClient.JobsRunsGetAsync(_runId.Value);

                RunJson = JsonConvert.SerializeObject(runResponse, Formatting.Indented);
            }
            catch (Exception ex)
            {
                _messageBoxService.ShowError(ex.Message);
            }
            return(System.Threading.Tasks.Task.FromResult <object>(null));
        }