12. SpareTime 静态类
重要声明
以下内容在 Furion 4.8.4 +
版本中已移除。
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);