Ejemplo n.º 1
0
        private async Task RefreshExecutionStatus()
        {
            var state = await Task.Run(() => manager.GetExperimentJobState(new[] { id }));

            executionStatus = (ExperimentExecutionStateVM)state[0];
            NotifyPropertyChanged("ExecutionStatus");
        }
Ejemplo n.º 2
0
        private async void RefreshItemsAsync()
        {
            var handle = ui.StartIndicateLongOperation("Loading table of experiments...");

            try
            {
                var exp = await Task.Run(() => manager.FindExperiments());

                allExperiments = exp.Select(e => new ExperimentStatusViewModel(e, manager, ui)).ToArray();
                Items          = FilterExperiments(allExperiments, keyword);
            }
            catch (Exception ex)
            {
                ui.ShowError(ex, "Failed to load experiments list");
            }
            finally
            {
                ui.StopIndicateLongOperation(handle);
            }

            List <ExperimentStatusViewModel> items = new List <ExperimentStatusViewModel>();

            try
            {
                var now = DateTime.Now;
                foreach (var vm in allExperiments)
                {
                    if (now.Subtract(vm.Submitted).TotalDays > 7)
                    {
                        break;
                    }
                    vm.JobStatus = ExperimentExecutionStateVM.Loading;
                    items.Add(vm);
                }

                var states = await Task.Run(() => manager.GetExperimentJobState(items.Select(item => item.ID)));

                int n = Math.Min(states.Length, items.Count);
                for (int i = 0; i < n; i++)
                {
                    items[i].JobStatus = (ExperimentExecutionStateVM)states[i];
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine("Failed to get status of jobs: " + ex);
                foreach (var item in items)
                {
                    item.JobStatus = null;
                }
            }
        }
Ejemplo n.º 3
0
        public async Task UpdateJobStatus()
        {
            var state = await Task.Run(() => manager.GetExperimentJobState(new[] { status.ID }));

            JobStatus = (ExperimentExecutionStateVM)state[0];
        }