aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Integration/JobRuns
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-02-17 16:08:41 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-02-17 16:08:41 +0200
commit48c79919e6ae52fe5db3ce7490691d044248f84a (patch)
tree349a475cdcb325b72a574b11dd1f563b2b5fbbb4 /Software/Visual_Studio/Tango.Integration/JobRuns
parente29d962c5602fc9fc3a54fa4da8957609de7eea4 (diff)
downloadTango-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.cs124
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
}
}