当前位置: 首页 > 编程语言 > C#

如何使用FluentScheduler库在C#中调度任务?分享

时间:2023-04-10 23:28:51 C#

C#中如何使用FluentScheduler库调度任务?我试图通过控制台应用程序(.NetFramework4.5.2)熟悉C#FluentScheduler库。这是编写的代码:classProgram{staticvoidMain(string[]args){JobManager.Initialize(newMyRegistry());}}publicclassMyRegistry:Registry{publicMyRegistry(){ActionsomeMethod=newAction(()=>{Console.WriteLine("TimedTask-Willrunnow");});调度schedule=newSchedule(someMethod);schedule.ToRunNow();这段代码执行时没有任何错误,但我没有在控制台上看到任何内容。我在这里错过了什么吗?您使用了错误的库-您不应该创建新的时间表。您应该使用注册表的方法。publicclassMyRegistry:Registry{publicMyRegistry(){ActionsomeMethod=newAction(()=>{Console.WriteLine("TimedTask-Willrunnow");});//调度schedule=newSchedule(someMethod);//schedule.ToRunNow();this.Schedule(someMethod).ToRunNow();}}第二个问题是consoleapplication会在初始化后立即退出,所以添加一个Console.ReadLine()staticvoidMain(string[]args){JobManager.Initialize(newMyRegistry());控制台.ReadLine();FluentScheduler是一个很棒的包,但我会避免尝试在评论中建议的ASP.Net应用程序中使用它——当您的应用程序在一段时间不活动后卸载时,您的调度程序实际上已停止。更好的想法是将其托管在专用的Windows服务中。除此之外-您已经要求控制台应用程序实现,所以试一试:以上是C#学习教程:HowtoscheduletasksinC#usingtheFluentSchedulerlibrary?所有分享的内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注——usingSystem;使用FluentScheduler;namespaceSchedulerDemo{classProgram{staticvoidMain(string[]args){//启动调度程序JobManager.Initialize(newScheduledJobRegistry());//等待Console.WriteLine("Pressentertoterminate...");控制台.ReadLine();//停止调度器JobManager.StopAndBlock();}}publicclassScheduledJobRegistry:Registry{publicSc??heduledJobRegistry(){Schedule().NonReentrant()//一次只能运行一个作业实例.ToRunOnceAt(DateTime.Now.AddSeconds(3))//延迟启动一会儿.AndEvery(2).Seconds();//Interval//TODO...在此处添加更多计划}}publicclassMyJob:IJob{publicvoidExecute(){//在此处执行计划任务Console.WriteLine("时间是{0:HH:mm:ss}",DateTime.Now);}}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处: