Imports DigitalData.Modules.Database Imports DigitalData.Modules.Logging Imports Quartz Imports Quartz.Listener 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) Else History.AddSuccess(context.JobDetail.Key.Name, "Job Successful!") End If Else History.AddError(context.JobDetail.Key.Name, jobException.Message) End If Return MyBase.JobWasExecuted(context, jobException, cancellationToken) End Function End Class End Namespace