-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathServiceCollectionSchedulerListener.cs
More file actions
138 lines (103 loc) · 3.64 KB
/
ServiceCollectionSchedulerListener.cs
File metadata and controls
138 lines (103 loc) · 3.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
using System;
using Quartz;
using System.Threading.Tasks;
using System.Threading;
public class ServiceCollectionSchedulerListener : ISchedulerListener
{
ISchedulerFactory schedulerFactory;
public ServiceCollectionSchedulerListener(ISchedulerFactory schedulerFactory)
{
this.schedulerFactory = schedulerFactory ?? throw new ArgumentNullException(nameof(schedulerFactory));
}
public Task JobAdded(IJobDetail jobDetail, CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task JobDeleted(JobKey jobKey, CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task JobInterrupted(JobKey jobKey, CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task JobPaused(JobKey jobKey, CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task JobResumed(JobKey jobKey, CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task JobScheduled(ITrigger trigger, CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task JobsPaused(string jobGroup, CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task JobsResumed(string jobGroup, CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task JobUnscheduled(TriggerKey triggerKey, CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task SchedulerError(string msg, SchedulerException cause, CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task SchedulerInStandbyMode(CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task SchedulerShutdown(CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public async Task SchedulerShuttingdown(CancellationToken cancellationToken = default)
{
var schedulers = await schedulerFactory.GetAllSchedulers(cancellationToken);
foreach(var scheduler in schedulers) {
var jobs = await scheduler.GetCurrentlyExecutingJobs(cancellationToken);
foreach (var job in jobs) {
await scheduler.Interrupt(job.JobDetail.Key, cancellationToken);
}
}
return;
}
public Task SchedulerStarted(CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task SchedulerStarting(CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task SchedulingDataCleared(CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task TriggerFinalized(ITrigger trigger, CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task TriggerPaused(TriggerKey triggerKey, CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task TriggerResumed(TriggerKey triggerKey, CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task TriggersPaused(string triggerGroup, CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
public Task TriggersResumed(string triggerGroup, CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
}