diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-02-17 16:08:41 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-02-17 16:08:41 +0200 |
| commit | 48c79919e6ae52fe5db3ce7490691d044248f84a (patch) | |
| tree | 349a475cdcb325b72a574b11dd1f563b2b5fbbb4 /Software/Visual_Studio/Tango.Integration/JobRuns | |
| parent | e29d962c5602fc9fc3a54fa4da8957609de7eea4 (diff) | |
| download | Tango-48c79919e6ae52fe5db3ce7490691d044248f84a.tar.gz Tango-48c79919e6ae52fe5db3ce7490691d044248f84a.zip | |
Implemented a fix for unknown event type in MachinesEvent.
Implemented a fix for db/internet problem when logging job runs.
Diffstat (limited to 'Software/Visual_Studio/Tango.Integration/JobRuns')
| -rw-r--r-- | Software/Visual_Studio/Tango.Integration/JobRuns/BasicJobRunsLogger.cs | 124 |
1 files changed, 72 insertions, 52 deletions
diff --git a/Software/Visual_Studio/Tango.Integration/JobRuns/BasicJobRunsLogger.cs b/Software/Visual_Studio/Tango.Integration/JobRuns/BasicJobRunsLogger.cs index 07844af17..bacae9324 100644 --- a/Software/Visual_Studio/Tango.Integration/JobRuns/BasicJobRunsLogger.cs +++ b/Software/Visual_Studio/Tango.Integration/JobRuns/BasicJobRunsLogger.cs @@ -6,6 +6,7 @@ using System.Threading.Tasks; using Tango.BL; using Tango.BL.Entities; using Tango.BL.Enumerations; +using Tango.Core; using Tango.Integration.Operation; namespace Tango.Integration.JobRuns @@ -14,7 +15,7 @@ namespace Tango.Integration.JobRuns /// Represents a basic database job runs logger. /// </summary> /// <seealso cref="Tango.Integration.JobRuns.IJobRunsLogger" /> - public class BasicJobRunsLogger : IJobRunsLogger + public class BasicJobRunsLogger : ExtendedObject, IJobRunsLogger { private DateTime _start_date; private Job _job; @@ -107,29 +108,36 @@ namespace Tango.Integration.JobRuns { Task.Factory.StartNew(() => { - using (var db = ObservablesContext.CreateDefault()) + try { - db.JobRuns.Add(new JobRun() + using (var db = ObservablesContext.CreateDefault()) { - StartDate = _start_date, - EndDate = DateTime.UtcNow, - JobGuid = _job.Guid, - JobRunStatus = JobRunStatus.Failed, - EndPosition = e.JobHandler.Status.Progress, - FailedMessage = e.Exception.Message, - }); + db.JobRuns.Add(new JobRun() + { + StartDate = _start_date, + EndDate = DateTime.UtcNow, + JobGuid = _job.Guid, + JobRunStatus = JobRunStatus.Failed, + EndPosition = e.JobHandler.Status.Progress, + FailedMessage = e.Exception.Message, + }); - e.Job.LastRun = DateTime.UtcNow; - _job.LastRun = DateTime.UtcNow; + e.Job.LastRun = DateTime.UtcNow; + _job.LastRun = DateTime.UtcNow; - var job = db.Jobs.SingleOrDefault(x => x.Guid == _job.Guid); + var job = db.Jobs.SingleOrDefault(x => x.Guid == _job.Guid); - if (job != null) - { - job.LastRun = DateTime.UtcNow; - } + if (job != null) + { + job.LastRun = DateTime.UtcNow; + } - db.SaveChanges(); + db.SaveChanges(); + } + } + catch (Exception ex) + { + LogManager.Log(ex, "Error logging the current job run to the database."); } }); } @@ -144,28 +152,35 @@ namespace Tango.Integration.JobRuns { Task.Factory.StartNew(() => { - using (var db = ObservablesContext.CreateDefault()) + try { - db.JobRuns.Add(new JobRun() + using (var db = ObservablesContext.CreateDefault()) { - StartDate = _start_date, - EndDate = DateTime.UtcNow, - JobGuid = _job.Guid, - EndPosition = e.JobHandler.Status.Progress, - JobRunStatus = JobRunStatus.Aborted, - }); + db.JobRuns.Add(new JobRun() + { + StartDate = _start_date, + EndDate = DateTime.UtcNow, + JobGuid = _job.Guid, + EndPosition = e.JobHandler.Status.Progress, + JobRunStatus = JobRunStatus.Aborted, + }); - e.Job.LastRun = DateTime.UtcNow; - _job.LastRun = DateTime.UtcNow; + e.Job.LastRun = DateTime.UtcNow; + _job.LastRun = DateTime.UtcNow; - var job = db.Jobs.SingleOrDefault(x => x.Guid == _job.Guid); + var job = db.Jobs.SingleOrDefault(x => x.Guid == _job.Guid); - if (job != null) - { - job.LastRun = DateTime.UtcNow; - } + if (job != null) + { + job.LastRun = DateTime.UtcNow; + } - db.SaveChanges(); + db.SaveChanges(); + } + } + catch (Exception ex) + { + LogManager.Log(ex, "Error logging the current job run to the database."); } }); } @@ -180,28 +195,35 @@ namespace Tango.Integration.JobRuns { Task.Factory.StartNew(() => { - using (var db = ObservablesContext.CreateDefault()) + try { - db.JobRuns.Add(new JobRun() + using (var db = ObservablesContext.CreateDefault()) { - StartDate = _start_date, - EndDate = DateTime.UtcNow, - JobGuid = _job.Guid, - EndPosition = e.JobHandler.Status.Progress, - JobRunStatus = JobRunStatus.Completed, - }); + db.JobRuns.Add(new JobRun() + { + StartDate = _start_date, + EndDate = DateTime.UtcNow, + JobGuid = _job.Guid, + EndPosition = e.JobHandler.Status.Progress, + JobRunStatus = JobRunStatus.Completed, + }); - e.Job.LastRun = DateTime.UtcNow; - _job.LastRun = DateTime.UtcNow; + e.Job.LastRun = DateTime.UtcNow; + _job.LastRun = DateTime.UtcNow; - var job = db.Jobs.SingleOrDefault(x => x.Guid == _job.Guid); + var job = db.Jobs.SingleOrDefault(x => x.Guid == _job.Guid); - if (job != null) - { - job.LastRun = DateTime.UtcNow; - } + if (job != null) + { + job.LastRun = DateTime.UtcNow; + } - db.SaveChanges(); + db.SaveChanges(); + } + } + catch (Exception ex) + { + LogManager.Log(ex, "Error logging the current job run to the database."); } }); } @@ -214,8 +236,6 @@ namespace Tango.Integration.JobRuns _start_date = DateTime.UtcNow; } - - #endregion } } |
