.NET 定时任务

注册服务

builder.Services.AddHostedService<TestHostedService2>();

创建服务

TestHostedService.cs

arduino 复制代码
namespace 定时任务
{
    public class TestHostedService : IHostedService, IDisposable
    {
        private Timer? _timer;

        public Task StartAsync(CancellationToken cancellationToken)
        {
            _timer = new Timer(DoWork, null, TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(5));

            return Task.CompletedTask;
        }

        private void DoWork(object? state)
        {
            Console.WriteLine("这是任务a");
            Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss}");
        }

        public Task StopAsync(CancellationToken cancellationToken)
        {
            Console.WriteLine("StopAsync");

            return Task.CompletedTask;
        }


        public void Dispose()
        {
            _timer?.Dispose();
        }
    }
}

测试

创建了两个定时任务服务,b每五秒执行一次,a五秒后才执行

参考

.NET Core 实现后台任务(定时任务)IHostedService(一) - 一事冇诚 - 博客园 (cnblogs.com)

相关推荐
独自归家的兔11 小时前
基于 cosyvoice-v3-plus 的简单语音合成
人工智能·后端·语音复刻
踏浪无痕11 小时前
从 node-exporter 学如何写出可复用的监控指标
运维·后端·架构
wanghowie12 小时前
01.01 Spring核心|IoC容器深度解析
java·后端·spring
Java中文社群12 小时前
国内直连GPT、Claude和Gemini?N8N这次更新真的绝了!
人工智能·后端
SimonKing12 小时前
MyBatis的隐形炸弹:selectByExampleWithBLOBs使用不当,让性能下降80%
java·后端·程序员
踏浪无痕12 小时前
告别 Grafana 手搓 Dashboard:基于指标分组的 Prometheus 可视化新方案
后端·架构·产品
天天摸鱼的java工程师12 小时前
分布式 ID 生成终极方案:雪花算法优化与高可用实现
java·后端
掘金者阿豪12 小时前
Jenkins 任务中的 `java.lang.InterruptedException` 异常解析与解决
后端
superman超哥12 小时前
Rust 零拷贝技术应用:极致性能的内存操作艺术
开发语言·后端·rust·rust零拷贝技术·内存操作
间彧12 小时前
深度解析AIOps:从架构设计到工具实践的智能运维体系
后端