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

公司网站建设的不足网站开发有哪些服务器

公司网站建设的不足,网站开发有哪些服务器,小型私人会所装修设计,网站织梦程序改成wordpress经常在项目中遇到定时任务的时候#xff0c;通常第一个想到的是Timer定时器#xff0c;但是这玩意功能太弱鸡#xff0c;实际上通常采用的是专业化的第三方调度框架#xff0c;比如说Quartz#xff0c;它具有功能强大和应用的灵活性#xff0c;我想使用过的人都非常了解通常第一个想到的是Timer定时器但是这玩意功能太弱鸡实际上通常采用的是专业化的第三方调度框架比如说Quartz它具有功能强大和应用的灵活性我想使用过的人都非常了解那么本篇就来说说如何通过代码和配置文件来进行job和trigger的配置。一常规的jobtrigger配置方式这种常规的方式也是我们初步学习Quartz最先了解到的即通过 JobBuilder 和 TriggerBuilder 来链式一个IJobDetail和ISimpleTrigger比如下面的代码。class Program{static void Main(string[] args){IScheduler scheduler StdSchedulerFactory.GetDefaultScheduler();scheduler.Start();var job JobBuilder.CreateHelloJob().Build();var trigger TriggerBuilder.Create().WithSimpleSchedule(m m.WithIntervalInSeconds(1).RepeatForever()).StartNow().Build();scheduler.ScheduleJob(job, trigger);Console.Read();}} 上面这段代码可以看出在BuildJob的时候使用提供的 HelloJob 作为当前的定时调度的任务下面的ISimpleTrigger的意思就是每一秒钟执行一次HelloJob仅此而已然后就是HelloJob的具体定义非常简单实现一个IJob接口。public class HelloJob : IJob{private string name string.Empty;public void Execute(IJobExecutionContext context){Console.WriteLine(当前时间: {0} , DateTime.Now);}} 接下来可以把程序跑起来看看最后的一个结果可以看到每秒钟都有一个数据输出这种方式貌似很完美但是也有一个不利点现在需求有变更我需要将WithIntervalInSeconds(1) 改成WithIntervalInSeconds(2),也就是每秒执行一次改成每两秒执行一次这个就头疼了你不得不面对改一次需求就需要编译一次再发布这样的伤筋动骨我想你也不大愿意吧这种需求肯定是有办法的不信的话你可以往下看。二在quartz_jobs.xml定义job和trigger上面这种硬编码带来的坏处我也跟大家讲到了接下来看看如何使用xml配置job和trigger当我们从nuget中获取quartz框架的时候应该都会发现你的解决方案中多了一个xsd文件可能有很多人并不知道这个xsd文件到底是用来干嘛的。。。。其实就是用来写xml时做代码提示用的好了下面我就一步步的展示给大家。从nuget下载文件没什么好说的在“引用”上右击鼠标选择“管理NuGet程序包”看下图:然后你会看到多了一个job_scheduling_data_2_0.xsd文件。接下来新建一个quartz_jobs.xml文件然后选中visual studio中的xml菜单栏选中“架构”菜单项。在弹出的对话框中选择“添加”按钮找到从nuget中生成的job_scheduling_data_2_0.xsd然后点击完成。然后就可以在xml中自由的编码你会发现关于job和trigger的代码有提示了。。。这极大的提高了我们的开发效率对吧。好了下面贴出完整的xml案例从xml中大概也能看得出来在schedule中定义了一个job和trigger在job-type节点中定义了需要执行job的命名空间和类名有点意思吧也是最终schedule需要调度的任务。 ?xml version1.0 encodingutf-8 ? job-scheduling-data xmlnshttp://quartznet.sourceforge.net/JobSchedulingDataprocessing-directivesoverwrite-existing-datatrue/overwrite-existing-data/processing-directivesschedulejobnamesampleJob/namegroupsampleGroup/groupdescriptionSample job for Quartz Server/descriptionjob-typeConsoleApplication5.HelloJob,ConsoleApplication5/job-typedurabletrue/durablerecoverfalse/recover/jobtriggersimplenamesampleSimpleTrigger/namegroupsampleSimpleGroup/groupdescriptionSimple trigger to simply fire sample job/descriptionjob-namesampleJob/job-namejob-groupsampleGroup/job-groupmisfire-instructionSmartPolicy/misfire-instructionrepeat-count-1/repeat-countrepeat-interval1000/repeat-interval/simple/trigger/schedule /job-scheduling-data job的配置文件基本上算是搞定了然后配置 Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin 类来处理这个xml文件同时指定下quartz_jobs.xml的路径如下所示class Program{static void Main(string[] args){var factory new StdSchedulerFactory(new System.Collections.Specialized.NameValueCollection(){{quartz.plugin.xml.fileNames,~/quartz_jobs.xml },{quartz.plugin.xml.type,Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin,Quartz}});IScheduler scheduler factory.GetScheduler();scheduler.Start();}} 好了基本上就这样配置结束了最后一点要注意的就是配置一下 quartz_jobs.xml 始终复制到bin文件下,然后跑一下源代码看看效果咋样看到没有是不是很????????。好了如果将1s改成2s我只需要把quartz_jobs.xml中的 1000改成2000 就可是做到对trigger的动态配置如下图
http://www.zqtcl.cn/news/881867/

相关文章:

  • 网站备案幕布拍照是什么莱芜网络推广公司服务
  • 招个网站建设维护国家高新技术企业官网
  • 建设医疗网站做企业官网哪家公司好
  • 网站建设常见问题及解决办法站长网站大全
  • 二手网站建设模块500做网站
  • 建设展示型网站公司哪家好广告制作费和广告服务费区别
  • 网站排版设计欣赏网站建设制作设计seo优化南宁
  • 长春网站建设公司十佳wordpress在哪注册
  • 手机号码定位网站开发世界知名外贸网站
  • 广西南宁网站建设排行榜建设一个视频网站己18
  • 以小说名字做网站的小说网最热门的网页游戏排行
  • 微网站菜单商品详情页面模板html
  • 免费word模板网站WordPress用户聊天功能
  • 网站显示图片标记wordpress文章分类div布局
  • 专业网站建设公司哪家专业阿里云二级域名建设网站
  • 返利网站怎么做手机网页前端开发
  • 做家教去什么网站人际网络网络营销是什么
  • 潮州外贸网站建设网站qq在线状态
  • 旅游网站开发背景及意义湖南城市建设网站
  • 西安网站开发托管代运营wordpress给外部链接加上跳转
  • 网站设计深圳企业为什么做网站素材
  • 网站顶部地图代码怎么做的家居装修
  • 网站后台不能修改网站哪家公司做的
  • 360网站建设官网致远oa办公系统官网
  • 南宁 做网站网站建立计划书
  • 兰亭集势网站模板宿迁房产
  • 网站建设开源苏州做网站优化哪家好
  • 自己的电脑做网站空间视屏互联网站备案管理工作方案 工信部
  • 移动网站设计尺寸在什么网站做外贸
  • 中外网站建设区别绵阳市城市建设档案馆网站