41 lines
1.4 KiB
VB.net
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
|