当前位置: 首页 > news >正文

广安市网站建设_网站建设公司_Tailwind CSS_seo优化

做一张网站图得多少钱,网站怎样关键词排名优化,经营地址怎么在国税网站做更改,网站查询工具目录 创建简易控制台定时任务步骤完整程序 创建简易控制台定时任务 创建winform的可以看#xff1a;https://blog.csdn.net/wayhb/article/details/134279205 步骤 创建控制台程序 使用vs2019新建项目#xff0c;控制台程序#xff0c;使用.net4.7.2项目右键#xff08… 目录 创建简易控制台定时任务步骤完整程序 创建简易控制台定时任务 创建winform的可以看https://blog.csdn.net/wayhb/article/details/134279205 步骤 创建控制台程序 使用vs2019新建项目控制台程序使用.net4.7.2项目右键管理NuGet程序包搜索Quartz安装 使用Quartz.Net官网示例运行程序 打开官网https://www.quartz-scheduler.net/documentation/quartz-3.x/quick-start.html#trying-out-the-application在程序入库Program.cs粘贴官网示例 //出现错误右键修复自动添加包 using Quartz; using Quartz.Impl; using Quartz.Logging; using System; using System.Threading.Tasks;namespace ConsoleSkWork {class Program{private static async Task Main(string[] args){LogProvider.SetCurrentLogProvider(new ConsoleLogProvider());// Grab the Scheduler instance from the FactoryStdSchedulerFactory factory new StdSchedulerFactory();IScheduler scheduler await factory.GetScheduler();// and start it offawait scheduler.Start();// define the job and tie it to our HelloJob classIJobDetail job JobBuilder.CreateHelloJob().WithIdentity(job1, group1).Build();// Trigger the job to run now, and then repeat every 10 secondsITrigger trigger TriggerBuilder.Create().WithIdentity(trigger1, group1).StartNow().WithSimpleSchedule(x x.WithIntervalInSeconds(10).RepeatForever()).Build();// Tell Quartz to schedule the job using our triggerawait scheduler.ScheduleJob(job, trigger);// some sleep to show whats happeningawait Task.Delay(TimeSpan.FromSeconds(60));// and last shut down the scheduler when you are ready to close your programawait scheduler.Shutdown();Console.WriteLine(Press any key to close the application);Console.ReadKey();}// simple log provider to get something to the console//https://www.quartz-scheduler.net/documentation/quartz-3.x/quick-start.html#trying-out-the-applicationprivate class ConsoleLogProvider : ILogProvider{public Logger GetLogger(string name){return (level, func, exception, parameters) {if (level LogLevel.Info func ! null){Console.WriteLine([ DateTime.Now.ToLongTimeString() ] [ level ] func(), parameters);}return true;};}public IDisposable OpenNestedContext(string message){throw new NotImplementedException();}public IDisposable OpenMappedContext(string key, object value, bool destructure false){throw new NotImplementedException();}}}public class HelloJob : IJob{public async Task Execute(IJobExecutionContext context){await Console.Out.WriteLineAsync(Greetings from HelloJob!);}} }运行控制台程序 说明 info是日志插件输出的 hellojob就是任务触发的 添加触发监听器 触发监听器是用于监听触发器的添加触发监听器可以在任务执行前后执行其他动作例如输出下一次该任务执行时间触发监听器官网解释https://www.quartz-scheduler.net/documentation/quartz-3.x/tutorial/trigger-and-job-listeners.html继承触发监听器接口有4个方法需要实现 //触发器执行前 public async Task TriggerFired(ITrigger trigger, IJobExecutionContext context, CancellationToken cancellationToken default) {} // 判断作业是否继续true继续false本次不触发 public async Taskbool VetoJobExecution(ITrigger trigger, IJobExecutionContext context, CancellationToken cancellationToken default) {} // 触发完成 public async Task TriggerComplete(ITrigger trigger, IJobExecutionContext context, SchedulerInstruction triggerInstructionCode, CancellationToken cancellationToken default) {} // 触发失败 public async Task TriggerMisfired(ITrigger trigger, CancellationToken cancellationToken default) {} 主程序中添加触发监听器 // 将trigger监听器注册到调度器scheduler.ListenerManager.AddTriggerListener(new CustomTriggerListener());完整程序 Program.cs using System; using System.Threading.Tasks;using Quartz; using Quartz.Impl; using Quartz.Logging;namespace ConsoleApp1 {public class Program{private static async Task Main(string[] args){LogProvider.SetCurrentLogProvider(new ConsoleLogProvider());// Grab the Scheduler instance from the FactoryStdSchedulerFactory factory new StdSchedulerFactory();IScheduler scheduler await factory.GetScheduler();// and start it offawait scheduler.Start();// define the job and tie it to our HelloJob classIJobDetail job JobBuilder.CreateHelloJob().WithIdentity(job1, group1).Build();// Trigger the job to run now, and then repeat every 10 secondsITrigger trigger TriggerBuilder.Create().WithIdentity(trigger1, group1).StartNow().WithSimpleSchedule(x x.WithIntervalInSeconds(10).RepeatForever()).Build();// 将trigger监听器注册到调度器scheduler.ListenerManager.AddTriggerListener(new CustomTriggerListener());// Tell Quartz to schedule the job using our triggerawait scheduler.ScheduleJob(job, trigger);// some sleep to show whats happeningawait Task.Delay(TimeSpan.FromSeconds(60));// and last shut down the scheduler when you are ready to close your programawait scheduler.Shutdown();Console.WriteLine(Press any key to close the application);Console.ReadKey();}// simple log provider to get something to the consoleprivate class ConsoleLogProvider : ILogProvider{public Logger GetLogger(string name){return (level, func, exception, parameters) {if (level LogLevel.Info func ! null){Console.WriteLine([ DateTime.Now.ToLongTimeString() ] [ level ] func(), parameters);}return true;};}public IDisposable OpenNestedContext(string message){throw new NotImplementedException();}public IDisposable OpenMappedContext(string key, object value, bool destructure false){throw new NotImplementedException();}}}public class HelloJob : IJob{public async Task Execute(IJobExecutionContext context){//获取当前时间DateTime currentDateTime DateTime.UtcNow;await Console.Out.WriteLineAsync(当前日期和时间 currentDateTime.AddHours(8));}} }CustomTriggerListener.cs using Quartz; using System; using System.Threading; using System.Threading.Tasks;namespace ConsoleApp1 {//继承监听器接口public class CustomTriggerListener : ITriggerListener{public string Name CustomTriggerListener;//触发器执行前public async Task TriggerFired(ITrigger trigger, IJobExecutionContext context, CancellationToken cancellationToken default){Console.WriteLine(【*********************************************】);Console.WriteLine($【{Name}】---【TriggerFired】-【触发】);await Task.CompletedTask;}// 判断作业是否继续true继续false本次不触发public async Taskbool VetoJobExecution(ITrigger trigger, IJobExecutionContext context, CancellationToken cancellationToken default){Console.WriteLine($【{Name}】---【VetoJobExecution】-【判断作业是否继续】-{true});return await Task.FromResult(cancellationToken.IsCancellationRequested);}// 触发完成public async Task TriggerComplete(ITrigger trigger, IJobExecutionContext context, SchedulerInstruction triggerInstructionCode, CancellationToken cancellationToken default){Console.WriteLine($【{Name}】---【TriggerComplete】-【触发完成】);//获取下次执行日期时间UTC将UTC时间转换成北京时间DateTimeOffset dd (DateTimeOffset)trigger.GetNextFireTimeUtc();Console.WriteLine(【下次执行时间】dd.DateTime.AddHours(8));await Task.CompletedTask;}// 触发失败public async Task TriggerMisfired(ITrigger trigger, CancellationToken cancellationToken default){Console.WriteLine($【{Name}】---【TriggerMisfired】【触发作业】);await Task.CompletedTask;}}}
http://www.lebaoying.cn/news/6485.html

相关文章:

  • 网站设计计划书模板电脑软件推广联盟
  • ppt怎么做 pc下载网站搜索引擎营销例子
  • 软件开发网站开发学习wordpress安装到子目录
  • 网站域名到期怎么续费试玩平台网站怎么做
  • js网站页面效果盘锦注册公司
  • 四平网站建设哪家效果好wordpress手机端图片不显示
  • 做足彩网站推广做vi的图有网站吗
  • 湖北省住房和城乡建设部门户网站wordpress 段落显示不全
  • 网站建设导向有哪些免费的ppt模板下载网站
  • 怎么建设一个购物网站淘宝客模板网站
  • 北京一度网站建设成都设计公司注册
  • 佛山网站设计专业苏州seo快速优化
  • 企业网站客户案例网站网站开发不存储数据犯法吗
  • 网站美编设计怎么做怎么开发微信公众号
  • 西安地产网站制作公司网站建设优化服务特色
  • 商务网站建设与管理怎么用PS做珠宝网站
  • 郑州网站建设白杨网络wordpress 优酷免广告
  • 建设局网站功能简介杭州手机网站制作电脑公司
  • 石家庄网站设计公司的别名是千万别学交互设计
  • 哪个视频网站做直播销售竞价托管服务公司
  • 网站建站网站626969肇庆企业建站程序
  • 怎样理解网站建设与开发这门课宁皓 wordpress
  • 博兴网站建设专注南京网站建设
  • 网站建设微信运营销售pycharm 网站开发
  • 手机模板网站模板下载可以访问电脑网页的浏览器
  • 网站添加谷歌地图最近一周的国内新闻
  • 平面设计免费素材网站百度搜索自己的网站
  • 北京信管局 网站备案在线一键建站系统
  • 中国建行app官网下载安装网络优化论文
  • 购买高仿手表网站加强网站微信信息编辑队伍建设