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

图书馆建设网站需要哪些费用免费供求信息发布

图书馆建设网站需要哪些费用,免费供求信息发布,网页视频下载器手机版,网站代理建设定时任务管理类实现了如下功能#xff1a;1、对定时任务进行管理 2、创建定时任务#xff0c;需要给定时任务一个job的名称 3、判断给定的job的任务是否已存在 4、停止定时任务的功能namespace MyUKD.Quartz{ public class QuartzSchedulerMgr { private static readonly ILo… 定时任务管理类实现了如下功能1、对定时任务进行管理 2、创建定时任务需要给定时任务一个job的名称 3、判断给定的job的任务是否已存在 4、停止定时任务的功能namespace MyUKD.Quartz{ public class QuartzSchedulerMgr { private static readonly ILogger Logger LogManager.GetCurrentClassLogger(); private static ISchedulerFactory schedulerFactory; private static IScheduler scheduler; /// summary /// 初始化处理 /// /summary public static async void Initialize() { NameValueCollection props new NameValueCollection { {quartz.serializer.type,binary } }; LogProvider.IsDisabled true; schedulerFactory new StdSchedulerFactory(props); scheduler await schedulerFactory.GetScheduler(); await scheduler.Start(); } public static async void UnInitialize() { await scheduler.PauseAll(); //var groups await scheduler.GetJobGroupNames(); foreach (string g in await scheduler.GetJobGroupNames()) { await scheduler.DeleteJobs(await scheduler.GetJobKeys(GroupMatcherJobKey.GroupEquals(g))); await scheduler.UnscheduleJobs(await scheduler.GetTriggerKeys(GroupMatcherTriggerKey.GroupEquals(g))); } } public static IScheduler GetScheduler() { return scheduler; } /// summary /// /// /summary /// param namejobName/param /// returns/returns public static async Taskbool UnScheduleJob(string jobName) { try { bool exist await ExistJob(jobName); if (exist) { JobKey key JobKey.Create(jobName, ${jobName}-JobGroup); TriggerKey triggerKey new TriggerKey(jobName, ${jobName}-TriggerGroup); await scheduler.PauseJob(key); bool unScheduleJob await scheduler.UnscheduleJob(triggerKey); bool delete await scheduler.DeleteJob(key); System.Diagnostics.Debug.WriteLine($UnScheduleJob:JobKey:{key.Group}-{key.Name},TriggerKey:{triggerKey.Group}-{triggerKey.Name}); return unScheduleJob delete; } } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e); Logger.Error(e); } return true; } /// summary /// /// /summary /// param namejobName/param /// returns/returns public static async Taskbool ExistJob(string jobName) { JobKey key JobKey.Create(jobName, ${jobName}-JobGroup); return await scheduler.CheckExists(key); } /// summary /// 创建定时任务确定执行间隔确定执行次数的任务 /// /summary /// typeparam nameT继承IJob的类/typeparam /// param namejobName任务的名称/param /// param nameintervalInSeconds多长时间执行一次/param /// param namerepeatCount重复执行次数/param /// returns/returns public static async TaskDateTimeOffset CreateJobT(string jobName, int intervalInSeconds, int repeatCount) where T : IJob { IJobDetail job JobBuilder.CreateT().WithIdentity(jobName, ${jobName}-JobGroup).Build(); ITrigger trigger TriggerBuilder.Create().WithIdentity(jobName, ${jobName}-TriggerGroup) .WithSimpleSchedule(x x.WithIntervalInSeconds(intervalInSeconds).WithRepeatCount(repeatCount)) .Build(); return await scheduler.ScheduleJob(job, trigger); } /// summary /// 创建定时任务确定执行间隔确定执行次数的任务 /// /summary /// typeparam nameT继承IJob的类/typeparam /// param namejobName任务的名称/param /// param nameintervalInSeconds多长时间执行一次/param /// param namerepeatCount重复执行次数/param /// param namedataMap向任务传递的参数/param /// returns/returns public static async TaskDateTimeOffset CreateJobT(string jobName, int intervalInSeconds, int repeatCount, JobDataMap dataMap) where T : IJob { IJobDetail job JobBuilder.CreateT().WithIdentity(jobName, ${jobName}-JobGroup).UsingJobData(dataMap).Build(); ITrigger trigger TriggerBuilder.Create().WithIdentity(jobName, ${jobName}-TriggerGroup).StartNow() .WithSimpleSchedule(x x.WithIntervalInSeconds(intervalInSeconds).WithRepeatCount(repeatCount)) .Build(); return await scheduler.ScheduleJob(job, trigger); } /// summary /// 创建定时任务确定执行间隔一直执行 /// /summary /// typeparam nameT继承IJob的类/typeparam /// param namejobName任务的名称/param /// param nameintervalInSeconds多长时间执行一次/param /// returns/returns public static async TaskDateTimeOffset CreateJobT(string jobName, int intervalInSeconds) where T : IJob { IJobDetail job JobBuilder.CreateT().WithIdentity(jobName, ${jobName}-JobGroup).Build(); ITrigger trigger TriggerBuilder.Create().WithIdentity(jobName, ${jobName}-TriggerGroup).StartNow() .WithSimpleSchedule(x x.WithIntervalInSeconds(intervalInSeconds).RepeatForever()) .Build(); System.Diagnostics.Debug.WriteLine($CreateJob:{job.Description}-{trigger.Description}); //Console.WriteLine($CreateJob:{job.Description}-{trigger.Description}); return await scheduler.ScheduleJob(job, trigger); } /// summary /// 创建定时任务确定执行间隔一直执行 /// /summary /// typeparam nameT继承IJob的类/typeparam /// param namejobName任务的名称/param /// param nameintervalInSeconds多长时间执行一次/param /// param namedataMap向任务传递的参数/param /// returns/returns public static async TaskDateTimeOffset CreateJobT(string jobName, int intervalInSeconds, JobDataMap dataMap) where T : IJob { IJobDetail job JobBuilder.CreateT().WithIdentity(jobName, ${jobName}-JobGroup).UsingJobData(dataMap).Build(); ITrigger trigger TriggerBuilder.Create().WithIdentity(jobName, ${jobName}-TriggerGroup).StartNow() .WithSimpleSchedule(x x.WithIntervalInSeconds(intervalInSeconds).RepeatForever()) .Build(); return await scheduler.ScheduleJob(job, trigger); } /// summary /// 创建任务根据cron表达式确定任务执行的工作 /// /summary /// typeparam nameT继承IJob的类/typeparam /// param namejobName任务的名称/param /// param namecronTimecron表达式/param /// returns/returns public static async TaskDateTimeOffset CreateJobT(string jobName, string cronTime) where T : IJob { IJobDetail job JobBuilder.CreateT().WithIdentity(jobName, ${jobName}-JobGroup).Build(); ICronTrigger trigger new CronTriggerImpl(jobName, ${jobName}-TriggerGroup, cronTime); return await scheduler.ScheduleJob(job, trigger); } /// summary /// 创建任务根据cron表达式确定任务执行的工作 /// /summary /// typeparam nameT继承IJob的类/typeparam /// param namejobName任务的名称/param /// param namecronTimecron表达式/param /// param namedataMap向任务传递的参数/param /// returns/returns public static async TaskDateTimeOffset CreateJobT(string jobName, string cronTime, JobDataMap dataMap) where T : IJob { IJobDetail job JobBuilder.CreateT().WithIdentity(jobName, ${jobName}-JobGroup).UsingJobData(dataMap).Build(); ICronTrigger trigger new CronTriggerImpl(jobName, ${jobName}-TriggerGroup, cronTime); return await scheduler.ScheduleJob(job, trigger); } }}定时任务获取正在执行的JOB1、首先获取Schedulervar scheduler QuartzSchedulerMgr.GetScheduler()2、获取Scheduler中的JobGroupNamesvar groups scheduler.GetJobGroupNames();3、for循环逐个对每个group进行处理可以获取到job的名称信息以及触发器trigger的下次执行时间等内容foreach (var groupName in groups){ foreach (var jobKey in QuartzSchedulerMgr.GetScheduler().GetJobKeys(GroupMatcherJobKey.GroupEquals(groupName))) { string jobName jobKey.Name; string jobGroup jobKey.Group; var triggers QuartzSchedulerMgr.GetScheduler().GetTriggersOfJob(jobKey); foreach (ITrigger trigger in triggers) { trigger.GetNextFireTimeUtc(); } }}注下次触发时间为UTC时间我们这边是北京时间需要进行转换TimeZone.CurrentTimeZone.ToLocalTime(Convert.ToDateTime(triggers.ToList()[0].GetNextFireTimeUtc().ToString()))·END·DotNetCore学习站超乎想象的.NET Core学习资源微信号DotNetCore学习站
http://www.pierceye.com/news/630068/

相关文章:

  • 购买网站空间多少钱石家庄权威发布
  • 网站开发数据库动态管理网页制作商品页面模板
  • 电商网站设计模板平面设计师兼职网站
  • 网站建设的技术手段如何选择最好的域名
  • 汕头企业网站建设服务环境艺术设计网站推荐
  • 小米网站建设外贸网站建设哪家公司好
  • 怎样推广产品专业黑帽seo推广
  • 网站调用字体在阿里云备案网站通过
  • 手机网站做落地页石家庄网络营销
  • 如何把网站主关键词做到百度首页网站页面设计优化方案
  • 做门户网站多少钱做视频解析网站播放器和接口
  • 打开一个网站网站被挂马无法访问
  • 大连网站建设公司排名装饰设计公司哪个好
  • 苏州企业建设网站公司400电话网站源码
  • 贵州住房和城乡建设厅官网泰安千橙网站建设优化熊掌号
  • metro网站模板平面设计师网站
  • 怎样通过阿里云建设网站国内免费crm
  • 网站开发都需要学什么iis7网站建设
  • 网站 关键字it网站建设资讯网
  • 白银网站建设公司石家庄建行网站
  • 做网站全部乱码怎么办教学资源网站建设方案
  • 自己做的网站怎么添加文档做淘宝详情的网站
  • 安全认证的机票网站成就怎么做山东省住房和城乡建设厅政务服务
  • 海口网站建设方案咨询信息流优化师面试常见问题
  • 网上课程网站wordpress自定义页面分页
  • 自建站成本深圳网站建设营销服务平台
  • 模仿网站怎么做网站编辑建设
  • 湖南做网站 磐石网络引领免费网上开店
  • wordpress内容做成目录seo排名分析
  • 大型网站 网站建设做网站赔了8万