Skip to content

Commit cabdef6

Browse files
committed
Use TaskKey object to simplify api cognitive load
1 parent 8a65986 commit cabdef6

1 file changed

Lines changed: 8 additions & 16 deletions

File tree

TaskScheduler.cs

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public async Task Tick(bool forceRunPromotion=false)
6969

7070
public async Task<ScheduledTask> AddScheduledTask(Expression<Action> action, TimeSpan offsetFromNow)
7171
{
72-
var scheduledTask = new ScheduledTask(action.ToTaskInfo(), offsetFromNow, UniqueTaskKey());
72+
var scheduledTask = new ScheduledTask(action.ToTaskInfo(), offsetFromNow, TaskKey.CreateUnique());
7373

7474
await EnqueueScheduledTask(scheduledTask);
7575

@@ -78,7 +78,7 @@ public async Task<ScheduledTask> AddScheduledTask(Expression<Action> action, Tim
7878

7979
public async Task<ScheduledTask> AddScheduledTask(Expression<Action> action, DateTimeOffset scheduledTime)
8080
{
81-
var scheduledTask = new ScheduledTask(action.ToTaskInfo(), scheduledTime, UniqueTaskKey());
81+
var scheduledTask = new ScheduledTask(action.ToTaskInfo(), scheduledTime, TaskKey.CreateUnique());
8282

8383
await EnqueueScheduledTask(scheduledTask);
8484

@@ -87,7 +87,7 @@ public async Task<ScheduledTask> AddScheduledTask(Expression<Action> action, Dat
8787

8888
public async Task<ScheduledTask> AddScheduledTask(Expression<Action> action, DateTime scheduledTime)
8989
{
90-
var scheduledTask = new ScheduledTask(action.ToTaskInfo(), scheduledTime, UniqueTaskKey());
90+
var scheduledTask = new ScheduledTask(action.ToTaskInfo(), scheduledTime, TaskKey.CreateUnique());
9191

9292
await EnqueueScheduledTask(scheduledTask);
9393

@@ -96,7 +96,8 @@ public async Task<ScheduledTask> AddScheduledTask(Expression<Action> action, Dat
9696

9797
public async Task<RecurringTask> AddRecurringTask(Expression<Action> action, TimeSpan interval, string taskName)
9898
{
99-
var recurringTask = new RecurringTask(action.ToTaskInfo(), interval, RecurringTaskKey(taskName));
99+
var recurringTask = new RecurringTask(action.ToTaskInfo(), interval,
100+
TaskKey.CreateRecurring(taskName));
100101

101102
if (await RecurringTaskDoesNotExistOrNeedsChange(recurringTask))
102103
{
@@ -109,7 +110,8 @@ public async Task<RecurringTask> AddRecurringTask(Expression<Action> action, Tim
109110

110111
public async Task<RecurringTask> AddRecurringTask(Expression<Action> action, string crontab, string taskName)
111112
{
112-
var recurringTask = new RecurringTask(action.ToTaskInfo(), crontab, RecurringTaskKey(taskName));
113+
var recurringTask = new RecurringTask(action.ToTaskInfo(), crontab,
114+
TaskKey.CreateRecurring(taskName));
113115

114116
if (await RecurringTaskDoesNotExistOrNeedsChange(recurringTask))
115117
{
@@ -126,7 +128,7 @@ public async Task<bool> CancelRecurringTask(RecurringTask recurringTask)
126128

127129
public async Task<bool> CancelRecurringTask(string taskName)
128130
{
129-
return await CancelTask(RecurringTaskKey(taskName));
131+
return await CancelTask(TaskKey.CreateRecurring(taskName));
130132
}
131133

132134
public async Task<bool> CancelScheduledTask(ScheduledTask scheduledTask)
@@ -380,15 +382,5 @@ private string LuaScriptToCancelTask()
380382
return false
381383
";
382384
}
383-
384-
private TaskKey UniqueTaskKey()
385-
{
386-
return new TaskKey($"{DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()}::{Guid.NewGuid().ToString()}");
387-
}
388-
389-
private TaskKey RecurringTaskKey(string taskName)
390-
{
391-
return new TaskKey($"{nameof(RecurringTaskKey)}::{taskName}");
392-
}
393385
}
394386
}

0 commit comments

Comments
 (0)