Skip to main content

12. SpareTime 静态类

SpareTime 静态类提供了一些方法方便初始化和管理任务

12.1 初始化任务

// 开启间隔任务
SpareTime.Do(interval, [options]);

// 开启 Cron 表达式任务
SpareTime.Do(expression, [options]);

// 只执行一次任务
SpareTime.DoOnce(interval, [options]);

// 实现自定义任务
SpareTime.Do(()=>{
return DateTime.Now.AddMinutes(10);
},[options]);

12.2 实现后台执行

// 实现后台执行
SpareTime.DoIt(()=>{});

12.3 开始一个任务

SpareTime.Start("任务标识");

12.4 暂停一个任务

SpareTime.Stop("任务标识");
// 还可以标记一个任务执行失败
SpareTime.Stop("任务标识", true);

12.5 取消一个任务

SpareTime.Cancel("任务名称");

12.6 销毁所有任务

SpareTime.Dispose();

12.7 获取所有任务

var workers = SpareTime.GetWorkers();

12.8 获取单个任务

var worker = SpareTime.GetWorker("workerName");

12.9 解析 Cron 表达式

var nextTime = SpareTime.GetCronNextOccurrence("* * * * *");

12.10 BackgroundService 间隔定时任务

// 间隔执行任务
await SpareTime.DoAsync(1000, () =>
{
_logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
}, stoppingToken);

12.11 BackgroundService Cron 定时任务

 // 执行 Cron 表达式任务
await SpareTime.DoAsync("*/5 * * * * *", () =>
{
_logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
}, stoppingToken, CronFormat.IncludeSeconds);