.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)

相关推荐
快乐流星6 分钟前
从 SRT 到 MP4:用 Python 把番剧解说制作拆成 10 个可重跑阶段
后端
狂潮lister13 分钟前
狂潮 · 元理论v1.0-原创架构设计-AI 网关 | 第9篇:KC-AI‑Gateway(一套可审计的大模型网关完整架构实践)|【完整版】
人工智能·后端
张一凡9313 分钟前
AI 改完代码,人却不知道它改了什么:架构漂移才是真正的成本
前端·后端·agent
鶴哥只手遮天14 分钟前
雷达系统与成像仿真:从电磁散射到工程实现-第 2 章 雷达方程、链路预算与探测边界
后端
ZhengEnCi20 分钟前
AI时代什么样的程序员不会被淘汰:三种代码组织方式的改动成本实测
后端
对象存储与RustFS28 分钟前
GPU 在空转等数据?PyTorch 训练集进 RustFS 的三种接法
后端·docker·云原生
海岳云舟31 分钟前
springboot单元测试技术
java·后端·spring
我的div丢了肿么办37 分钟前
gin框架设置/获取cookie和多个二级域名共享cookie
后端·google
张宏同学38 分钟前
springboot微服务提高数据查询效率的新操作-先查主、后异步合并
后端
暧暧内含光42 分钟前
Redis Cluster 原理与跨槽(CROSSSLOT)踩坑总结
后端