2022-12-01 16:37:39 +01:00

41 lines
1.4 KiB
VB.net

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