FluentScheduler定时器

FluentScheduler定时任务库,经过nuget引用,能够设置各类事件间隔,,超级方便简单。git

FluentScheduler定时器例子

using FluentScheduler;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NetFrameTest.test
{
    public class MyRegistry : Registry
    {
        public MyRegistry()
        {
            // 天天执行一次(这里是在天天的下午 15:40 分执行),能够不用类,直接虚拟方法
            Schedule(() => Console.WriteLine("It's 15:42  now.")).ToRunEvery(1).Days().At(15, 42);

            // 每两秒执行一次(指定一个时间间隔运行,根据本身需求,能够是秒、分、时、天、月、年等。)
            Schedule<MyJob>().ToRunNow().AndEvery(2).Seconds();

            // 每五秒执行一次(延迟一个指定时间间隔执行一次计划任务)
            Schedule<MyJob>().ToRunOnceIn(5).Seconds();

            // 每个月执行一次(这里是在每个月的第一周的周一3点执行)
            Schedule<MyJob>().ToRunNow().AndEvery(1).Months().OnTheLast(DayOfWeek.Friday).At(16, 0);

            // 构造函数执行
            Schedule(() => new MyOtherJob("Foo")).ToRunNow().AndEvery(2).Seconds();

            // 在同一个计划中执行两个(多个)任务
            Schedule<MyJob>().AndThen<MyOtherJob>().ToRunNow().AndEvery(5).Minutes();
        }

    }

    public class MyJob : IJob
    {
        public void Execute()
        {
            Console.WriteLine($"MyJob  当前时间:{DateTime.Now}");
        }
    }

    public class MyOtherJob : IJob
    {
        private string Name;
        public MyOtherJob(string name)
        {
            Name = name;
        }

        public void Execute()
        {
            Console.WriteLine($"MyOtherJob 姓名:{Name}  当前时间:{DateTime.Now}");
        }
    }
}

定时任务写好以后只须要在Main中引用就能够了github

//  static void Main(string[] args)
JobManager.Initialize(new MyRegistry());

FluentScheduler源码地址

https://github.com/fluentscheduler/FluentScheduler函数

相关文章
相关标签/搜索