当前位置: 首页 > 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.zqtcl.cn/news/630068/

相关文章:

  • 网站建设 起飞最好的免费logo设计网站
  • 提供网站建设设计wordpress数据库查询很慢
  • 可以自己做漫画的网站怎么才能学网页设计
  • 能盈利的网站网站运营经验
  • 咸宁网站建设价格创建app需要什么条件
  • 一个静态网站多少钱谷歌推广公司哪家好
  • 做体育的网站c2c跨境电商平台有哪些?
  • 山西响应式网站建设推荐全国企业信用信息公示系统浙江
  • 西安做网站维护的公司百度百科官网入口
  • 网站网站建设公司贵阳网站设计阳光创信好吗
  • 网站广告投放收费标准长沙公司制作网站费用
  • 网站建设有哪些环节做一个产品网站要多少钱
  • 公司网站建设价格河北网站制作 网站开发
  • 适合新手做的网站项目职业技术培训
  • 提高网站流量原则昆山做百度网站
  • 怎样设计自己的网站长春制作门户网站的公司
  • 亚马逊商标备案是否必须做网站Wordpress做APP后端
  • 主办单位性质与网站名称不符网站域名怎么买
  • 帝国cms下载类网站怎么做广州外贸营销网站建设公司
  • 网站开发软件开发流程免费做外贸的网站平台有哪些
  • 教育培训网站开发广告公司怎么设置网站关键字
  • 绩溪建设银行网站济南网站建设 刘彬彬
  • 网站开发是打代码吗建网站来做什么
  • 制作网站需要什么软件wordpress建站程序
  • 做网站网站怎么赚钱软件工程师证书报考时间
  • 手机和电脑网站分开做炒股软件下载
  • 网站建设需要注意哪些关键细节杭州做商务网站
  • 做网站,图片显示不出来网站图标代码
  • 理财网网站开发源码h5淘宝网网页版入口
  • 免费网站商城模板宁波企业网站搭建图片