首页 > 其他分享 >net core中BackgroundService

net core中BackgroundService

时间:2023-05-28 10:22:13浏览次数:40  
标签:core PeriodicBackgroundTask TimeSpan stoppingToken BackgroundService PeriodicTim

public class PeriodicBackgroundTask : BackgroundService
{
    private readonly TimeSpan _period = TimeSpan.FromSeconds(5);
    private readonly ILogger<PeriodicBackgroundTask> _logger;
    public PeriodicBackgroundTask(ILogger<PeriodicBackgroundTask> logger)
    {
        _logger = logger;   
    }
    protected override async Task ExecuteAsync(CancellationToken stoppingToken)
    {
         using PeriodicTimer timer = new PeriodicTimer(_period);

        while (!stoppingToken.IsCancellationRequested &&
               await timer.WaitForNextTickAsync(stoppingToken))
        {
            _logger.LogInformation("Executing PeriodicBackgroundTask");
            System.Console.WriteLine("Executing PeriodicBackgroundTask");
        }
    }
}

 用到了.Net6新定时器PeriodicTimer,可以更方便的处理异步。

标签:core,PeriodicBackgroundTask,TimeSpan,stoppingToken,BackgroundService,PeriodicTim
From: https://www.cnblogs.com/Insist-Y/p/17437857.html

相关文章

  • (86) C# dotnet卸载工具
     卸载工具-.NET|MicrosoftLearndotnet/cli-lab: (github.com)......
  • coreutils test 源码分析
    Test的代码中主要解析如下语法,当然使用的时候也可以参考如下语法进行语句的编写/*test(1)acceptsthefollowinggrammar:oexpr::=aexpr|aexpr"-o"oexpr;aexpr::=nexpr|nexpr"-a"aexpr;nexpr::=primary|"!"primaryprimary::=un......
  • CoreOS是什么
    CoreOS是一个基于Linux的操作系统,旨在为容器化应用程序提供轻量、安全和可靠的基础设施。它采用了一些现代化的技术和工具,以简化容器的部署、管理和编排。以下是CoreOS的一些关键特点:1.**容器优先:**CoreOS是为容器化应用程序设计的操作系统。它集成了Docker和其他容器......
  • kubeadm极速部署Kubernetes,教你如何轻松处理容器运行瓶颈(Docker丨容器化技术丨DevOps
    kubeadm极速部署Kubernetes1.25版本集群前言随着Kubernetes的普及,快速部署和管理Kubernetes集群已成为容器领域的关键技能之一。本文将介绍使用kubeadm工具部署Kubernetes集群的方法,为您提供一个简单且高效的解决方案。不再需要自行构建集群,通过使用本文的方法,您将能够在最短的时......
  • Kubernetes Service详解
    KubernetesService详解一、Service介绍kubernetes提供了Service资源,Service会对提供同一个服务的多个pod进行聚合,并且提供一个统一的入口地址。通过访问Service的入口地址就能访问到后面的pod服务。Service在很多情况下只是一个概念,真正起作用的其实是kube-proxy服务进程,每个Node......
  • 网安--Linux cnetos7相关操作
    1、修改静态网络配置文件vim/etc/sysconfig/network-scripts/ifcfg-ens33 IPADDR、NETMASK等需要大写如果出现问题可以重启虚拟网卡2、centos修改yum源shift+insert粘贴1、yum源存放的地址 2、对旧的文件进行备份 3、替换yum源地址,换成阿里云的地址  3、Xs......
  • Basics of Neural Network Programming
    目录BasicsofNeuralNetworkProgrammingLogisticRegressionBasicsofNeuralNetworkProgrammingLogisticRegressiongivenx,want\(\hat{y}=P(y=1|x)\),\(x\in\R^{n_x}\)\(\hat{y_1}=w_{11}*x_{11}+w_{12}*x_{12}+\dots+w_{1n_x}*x_{1n_x}+b_1\).P......
  • 使用.net6.0做Windows的服务
    在VS2022上新建项目:选择C#,windows,服务,最后选择workerservice。刚创建项目的时候只有一个类包,还需要应用另一个类包Microsoft.Extensions.Hosting.WindowsServices。Main函数是这样的:publicstaticvoidMain(string[]args){IHosthost=Host.......
  • telnet循环探测服务端口
    #!/bin/bash##$1为端点地址$2为端口号##示例shtelnet_test.sh127.0.0.180i=0>./test.txtecho"日志保存./test.txt"while[$i-lt2]dostart_time=`date+%Y%m%d-%H:%M:%S`start_time_s=`date+%s`RESULT=`echo""|sleep......
  • 基于GoogleNet深度学习网络的人员身份识别系统Matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:  2.算法涉及理论知识概要       深度学习(DL,DeepLearning)是机器学习(ML,MachineLearning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI,ArtificialIntelligence)。[1深度学习是学习样本数据......