Imports DigitalData.Modules.Database Imports DigitalData.Modules.Logging Imports Quartz Imports Quartz.Listener Imports ECM.JobRunner.Common Namespace Scheduler Public Class JobListener Inherits JobListenerSupport Public Overrides ReadOnly Property Name As String = "JobListener" Private ReadOnly Logger As Logger Private ReadOnly LogConfig As LogConfig Private ReadOnly History As JobHistory Public Sub New(pLogConfig As LogConfig, pJobHistory As JobHistory) MyBase.New() LogConfig = pLogConfig Logger = pLogConfig.GetLogger() History = pJobHistory End Sub Public Overrides Function JobWasExecuted(context As IJobExecutionContext, jobException As JobExecutionException, Optional cancellationToken As Threading.CancellationToken = Nothing) As Task If jobException Is Nothing Then If TypeOf context.Result Is JobResult Then Dim oResult As JobResult = context.Result History.AddSuccess(context.JobDetail.Key.Name, oResult.Description, oResult.Steps) Else History.AddSuccess(context.JobDetail.Key.Name, "Job Successful!", New List(Of HistoryItem.HistoryStep)) End If Else History.AddError(context.JobDetail.Key.Name, jobException.Message, New List(Of HistoryItem.HistoryStep)) End If Return MyBase.JobWasExecuted(context, jobException, cancellationToken) End Function End Class End Namespace