private void timerUpdateActiveJobsView_Tick(object sender, EventArgs e) { try { dsFilesClassification.ActiveJobs.Rows.Clear(); int[] allJobIds = ibp.AllJobs(); if (allJobIds != null) { foreach (int jobId in allJobIds) { DMS.FC.BP.FileClassificatorProgressInfo pInfo = (DMS.FC.BP.FileClassificatorProgressInfo)ibp.GetProgressInfo(jobId); DMS.FC.DsFilesClassification.ActiveJobsRow row = dsFilesClassification.ActiveJobs.NewActiveJobsRow(); row.DateTimeNow = pInfo.timestamp; row.JobId = pInfo.JobId; TimeSpan ts = new TimeSpan(DateTime.Now.Ticks - pInfo.timestamp.Ticks); row.JobProccessingElapsedTime = ts.TotalSeconds; row.JobState = pInfo.JobState.ToString(); row.CountDirs = pInfo.CountDirs; row.CountFiles = pInfo.CountFiles; row.CountResults = pInfo.CountResults; dsFilesClassification.ActiveJobs.Rows.Add(row); } } } catch (Exception ex) { log.Log(mko.Log.RC.CreateError(string.Format("Beim aktualisieren der Liste der aktiven Jobs: {0}", ex.Message))); } }
private void btnResultsRequery_Click(object sender, EventArgs e) { try { // Liste aller fertiggestellter Jobs auf dem Client mit den // mit den frisch fertiggestellten Jobs auf dem Server aktualisieren try { foreach (int jobId in ibp.AllJobs()) { DMS.FC.BP.FileClassificatorProgressInfo pInfo = (DMS.FC.BP.FileClassificatorProgressInfo)ibp.GetProgressInfo(jobId); if (pInfo.JobState == DMS.Job.JobStates.finished) { DMS.Job job; ibp.DeliverFinishedJob(jobId, out job); allFinishedJobs.Add(jobId, (DMS.FC.BP.Job)job); } } } catch (Exception ex) { log.Log(mko.Log.RC.CreateError("Beim Abrufen der Liste aller Fertiggestellter Jobs: " + ex.Message)); } // Ausgabe der Fertiggestellten Jobs in der Listbox lbxResultsJobs.Items.Clear(); foreach (int jobId in allFinishedJobs.Keys) { lbxResultsJobs.Items.Add(jobId); } log.Log(mko.Log.RC.CreateMsg("Fertiggestellte Jobs abgefragt")); } catch (Exception ex) { log.Log(mko.Log.RC.CreateError(string.Format("Beim Abfragen der fertiggestellten Jobs: {0}", ex.Message))); } }