Skip to content

Commit cd1984e

Browse files
committed
refactor: 支持多播
1 parent 6cc3d6a commit cd1984e

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

src/components/BootstrapBlazor.Tasks.Dashboard/TaskInfo.razor.cs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,20 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
3838

3939
if (firstRender)
4040
{
41-
var sche = TaskServicesManager.Get(Scheduler.Name);
42-
if (sche != null)
41+
var scheduler = TaskServicesManager.Get(Scheduler.Name);
42+
if (scheduler != null)
4343
{
44-
sche.Triggers.First().PulseCallback = async t => await DispatchMessage(t);
45-
await DispatchMessage(sche.Triggers.First());
44+
scheduler.Triggers.First().PulseCallback += DispatchMessageCallback;
45+
await DispatchMessage(scheduler.Triggers.First());
4646
}
4747
}
4848
}
4949

50+
private void DispatchMessageCallback(ITrigger trigger)
51+
{
52+
_ = DispatchMessage(trigger);
53+
}
54+
5055
private async Task DispatchMessage(ITrigger trigger)
5156
{
5257
var message = $"Trigger({trigger.GetType().Name}) LastRuntime: {trigger.LastRuntime} Run({trigger.LastResult}) NextRuntime: {trigger.NextRuntime} Elapsed: {trigger.LastRunElapsedTime.TotalSeconds}";
@@ -65,10 +70,10 @@ private void Dispose(bool disposing)
6570
{
6671
if (disposing)
6772
{
68-
var sche = TaskServicesManager.Get(Scheduler.Name);
69-
if (sche != null)
73+
var scheduler = TaskServicesManager.Get(Scheduler.Name);
74+
if (scheduler != null)
7075
{
71-
sche.Triggers.First().PulseCallback = null;
76+
scheduler.Triggers.First().PulseCallback -= DispatchMessageCallback;
7277
}
7378
}
7479
}

0 commit comments

Comments
 (0)