asp.net core 定时任务

it2022-05-05  129

using Microsoft.Extensions.Hosting; using System; using System.IO; using System.Threading; using System.Threading.Tasks;

namespace Sheepsoft.Core.Common {     /// <summary>     ///      /// </summary>     public class JobCommon : BackgroundService     {         protected override async Task ExecuteAsync(CancellationToken stoppingToken)         {

            while (!stoppingToken.IsCancellationRequested)             {                 await new TaskFactory().StartNew(() =>                 {                     try                     {                         //定时任务业务逻辑,比如:                         string value = DateTime.Now.ToString();                         StreamWriter sw = new StreamWriter(@"D:\1.txt", true);//true有新数据继续写,false后边的数据覆盖前边的                         sw.WriteLine("执行时间: " + value);                         sw.Flush();                         sw.Close();

                        //满足某种条件执行 比如每天凌晨执行                         var time = DateTime.Now.ToString("HH:mm:ss");                         if ("00:01:00" == time)                         {                             //业务逻辑                              Console.WriteLine(DateTime.Now + ":进入这里了");

                        }

                    }                     catch (Exception exp)                     {                         //错误处理                     }

                    //定时任务休眠                     Thread.Sleep(1 * 1000);                 });             }

        }     }

    /**      *       * 最后在ConfigureServices里注册下

        //定时任务的注入         services.AddTransient<Microsoft.Extensions.Hosting.IHostedService, Job>();      *       *       * **/ }  


最新回复(0)