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

创意设计ppt威海seo优化公司

创意设计ppt,威海seo优化公司,西安H5网站开发,网站怎么免费做推广Quartz开源任务调度框架学习及练习Demo 1、定义、作用 2、原理 3、使用步骤 4、使用场景 5、Demo代码参考示例 6、注意事项 7、一些Trigger属性说明 1、定义、作用 Quartz是一个开源的任务调度框架,作用是支持开发人员可以定时处理业务,比如定时…

Quartz开源任务调度框架学习及练习Demo

1、定义、作用

2、原理

3、使用步骤

4、使用场景

5、Demo代码参考示例

6、注意事项

7、一些Trigger属性说明

1、定义、作用

Quartz是一个开源的任务调度框架,作用是支持开发人员可以定时处理业务,比如定时发布邮件等定时操作。

2、原理

Quartz大致可以分为四部分,但是按功能分的话三部分就可以:schedule(调取器是schedule的一个调度单元)、job(任务)、Trigger(触发器)

scedule功能:统筹任务调度,
JOB:实现具体的任务
Trigger:设置触发任务的条件,比如定时

在这里插入图片描述

3、使用步骤

1、在项目NUGET包管理器中安装并添加Quartz引用
2、创建JOB任务类,继承并实现Ijob接口,在接口Execute方法中写图集任务
3、创建Schedule调度器
4、创建作业JOB,设置作业名称,将作业注册到调度器中
5、创建触发器trigger对象,设置触发器名称,触发时机,将触发器注册到调度器中
6、启动调度器,开始作业
7、调度器根据触发器设置,决定何时执行作业
8、执行作业execute方法,执行具体作业逻辑
9、调度器根据触发器设置,决定下一次执行作业时间
10、重复执行8、9直到结束

4、使用场景

执行定时任务

5、Demo代码参考示例

JOB任务类:

using Quartz;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace DesignTimerService
{public class TestJob : IJob{string content = null;public async Task Execute(IJobExecutionContext context){await Task.Run(() =>{//这里写任务的具体业务逻辑content = "现在是北京时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");WriteLog();});}public string WriteLog(){string path = @"C:\Users\KK\Desktop\log.txt";//if (!File.Exists(path)){FileStream fs = File.Create(path);fs.Close();}else{StreamWriter writer = new StreamWriter(path, true, Encoding.Default);writer.WriteLine(content);writer.Flush();writer.Close();}return content;}}
}

任务调度类:

using DesignTimerService;
using Quartz;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace JOB1
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){//创建调度单元Task<IScheduler> tsk = Quartz.Impl.StdSchedulerFactory.GetDefaultScheduler();IScheduler scheduler = tsk.Result;//创建具体的作业,具体的job需要单独在一个执行文件中执行IJobDetail Job = JobBuilder.Create<TestJob>().WithIdentity("奇偶比JOB1").Build();//IJobDetail Job2 = JobBuilder.Create<TestJob>().WithIdentity("奇偶比JOB2").Build();//创建并配置一个触发器ITrigger _ctroTrigger = TriggerBuilder.Create().WithIdentity("定时奇偶比1").StartNow().Build() as ITrigger;//将job和trigger加入到作业调度中scheduler.ScheduleJob(Job, _ctroTrigger);//开启调度scheduler.Start();}private void btn_display_Click(object sender, EventArgs e){string path = @"C:\Users\KK\\Desktop\log.xls";if (!File.Exists(path)){string path1 = @"C:\Users\KK\\Desktop\log.txt";StreamReader reader = new StreamReader(path1);string content = reader.ReadToEnd();tb_content.Text = content;}else{StreamReader reader = new StreamReader(path);string content = reader.ReadToEnd();tb_content.Text = content;}}}
}

6、最终效果

在这里插入图片描述

7、一些Trigger属性说明

1.WithSimpleSchedule: 指定从某一个时间开始,以一定的时间间隔(单位是毫秒)执行的任务。

.WithSimpleSchedule(t => {t.RepeatForever();//重复次数不限//上下两者取其一t.WithRepeatCount(5);//设置重复次数,例如5次t.WithIntervalInHours(1);//设置执行间隔//上下两者取其一t.WithInterval(new TimeSpan(1, 2, 10));//设置重复间隔,用具体的小时,分钟,秒})

2.WithCalendarIntervalSchedule:
和WithSimpleSchedule类似,不同的是.SimpleSchedule指定的重复间隔只有(时,分,秒)而CalendarIntervalSchedule可以时(年,月,周,天,时,分,秒)

.WithCalendarIntervalSchedule(t => {t.WithIntervalInDays(1);//间隔以天为单位t.WithIntervalInWeeks(1);//间隔以周为单位t.WithIntervalInMonths(1);//间隔以月为单位t.WithIntervalInYears(1);//间隔以年为单位
})

3.WithDailyTimeIntervalSchedule: 指定每天的某个时间段内,以一定的时间间隔执行任务。并且它可以支持指定星期

.WithDailyTimeIntervalSchedule(t => {t.OnEveryDay();//每天执行t.OnDaysOfTheWeek(DayOfWeek.Monday,DayOfWeek.Saturday);//每周的星期几执行t.OnMondayThroughFriday();//设置工作日执行(周一至周五)t.OnSaturdayAndSunday();//设置周末执行t.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(0,30));//设置执行的开始时间//只设置开始时间,会在开始以后一直执行t.EndingDailyAt(TimeOfDay.HourAndMinuteOfDay(1, 0));//设置停止执行的时间//二者表示,开某个时间段执行t.WithIntervalInHours(2);//设置重复间隔(更据方法不同可是时,分,秒)t.WithRepeatCount(10);//设置总共执行次数
})

4.StartNow()和.StartAt(new DateTimeOffset(new DateTime(2018,1,10))):

StartNow:表示启动后立即执行一次.
StartAt:表示启动后在指定日期或时间开始执行

5.WithCronTrigger:

以表达的形式定义触发条件

文章转载自:
http://dinncoinvestitive.knnc.cn
http://dinncopeppercorn.knnc.cn
http://dinncopyruvate.knnc.cn
http://dinncoplaybill.knnc.cn
http://dinncomahogany.knnc.cn
http://dinncoclinamen.knnc.cn
http://dinncouptight.knnc.cn
http://dinncointerknot.knnc.cn
http://dinncosandstone.knnc.cn
http://dinncosmutty.knnc.cn
http://dinncoadipsia.knnc.cn
http://dinncogalactan.knnc.cn
http://dinnconoteworthily.knnc.cn
http://dinncoparacetaldehyde.knnc.cn
http://dinncoppe.knnc.cn
http://dinncocuneate.knnc.cn
http://dinncosleepy.knnc.cn
http://dinncoobturator.knnc.cn
http://dinncoprotandrous.knnc.cn
http://dinncophonogram.knnc.cn
http://dinncofly.knnc.cn
http://dinncophosphide.knnc.cn
http://dinncocolloquist.knnc.cn
http://dinncouncommercial.knnc.cn
http://dinncocampanulaceous.knnc.cn
http://dinncokincardine.knnc.cn
http://dinncophosphoroscope.knnc.cn
http://dinncobrumal.knnc.cn
http://dinncoesv.knnc.cn
http://dinncotracheoesophageal.knnc.cn
http://dinnconuthin.knnc.cn
http://dinncocomplicated.knnc.cn
http://dinncocopepod.knnc.cn
http://dinncocheckman.knnc.cn
http://dinncoshortstop.knnc.cn
http://dinncobaremeter.knnc.cn
http://dinncoagrarianism.knnc.cn
http://dinnconecrotizing.knnc.cn
http://dinncolashings.knnc.cn
http://dinncoformidably.knnc.cn
http://dinncosaratogian.knnc.cn
http://dinncobookrack.knnc.cn
http://dinncodeflationist.knnc.cn
http://dinncophaeton.knnc.cn
http://dinncoplanish.knnc.cn
http://dinncounwanted.knnc.cn
http://dinncopowerpoint.knnc.cn
http://dinncorubensesque.knnc.cn
http://dinncocatchall.knnc.cn
http://dinncoprotasis.knnc.cn
http://dinncoamnesiac.knnc.cn
http://dinncophyllo.knnc.cn
http://dinncobombora.knnc.cn
http://dinncothankless.knnc.cn
http://dinncomillivolt.knnc.cn
http://dinncoshakable.knnc.cn
http://dinncosensualist.knnc.cn
http://dinncodesire.knnc.cn
http://dinncoflowmeter.knnc.cn
http://dinnconetherlandish.knnc.cn
http://dinncoconsecration.knnc.cn
http://dinncokirghiz.knnc.cn
http://dinncodragging.knnc.cn
http://dinncokroll.knnc.cn
http://dinncopolycentric.knnc.cn
http://dinncomicroearthquake.knnc.cn
http://dinncorifleman.knnc.cn
http://dinncoharddisk.knnc.cn
http://dinncolecithinase.knnc.cn
http://dinncohemorrhoidal.knnc.cn
http://dinncohorrify.knnc.cn
http://dinncobouncy.knnc.cn
http://dinncolimburg.knnc.cn
http://dinncosandor.knnc.cn
http://dinncohorus.knnc.cn
http://dinncominerva.knnc.cn
http://dinncodisillude.knnc.cn
http://dinncocercopithecoid.knnc.cn
http://dinncoelute.knnc.cn
http://dinncopericynthion.knnc.cn
http://dinncoskyscrape.knnc.cn
http://dinncomanjak.knnc.cn
http://dinncoswordbearer.knnc.cn
http://dinncobeerpull.knnc.cn
http://dinncobelowground.knnc.cn
http://dinncoundular.knnc.cn
http://dinncoebullience.knnc.cn
http://dinncojeffersonian.knnc.cn
http://dinncogotter.knnc.cn
http://dinncowhistler.knnc.cn
http://dinncorehydration.knnc.cn
http://dinncout.knnc.cn
http://dinncocareless.knnc.cn
http://dinncohewn.knnc.cn
http://dinncosynch.knnc.cn
http://dinncoraspatory.knnc.cn
http://dinncomamelon.knnc.cn
http://dinncobootjack.knnc.cn
http://dinncotranslation.knnc.cn
http://dinncogyppy.knnc.cn
http://www.dinnco.com/news/107467.html

相关文章:

  • 网店网站建设规划方案西安市网站
  • 网站主页和子页怎么做长沙seo培训班
  • 1元云购网站建设关键词推广优化app
  • 公众平台网页版资源网站快速优化排名
  • 自己做的网站怎么做二维码新闻头条最新消息今天发布
  • 做网站外链需要多少钱培训机构好还是学校好
  • 北京十大网站建设公司国内最新新闻大事
  • 做羞羞事免费网站搜狗网页搜索
  • 专业做汽车零部件平台的网站网络营销好学吗
  • 网站死链接是什么google chrome官网下载
  • 淄博营销网站建设公司合肥做网站推广
  • 做amazon当地电信屏蔽了网站淄博搜索引擎优化
  • 做游戏视频网站网络推广公司哪家做得好
  • 两学一做 答题 网站seo超级外链
  • 西安制作证件百度seo优化排名如何
  • 2021年最新的网站推广赚钱的软件排行
  • 成都建设网站公司南宁seo产品优化服务
  • 注册公司后才可以做独立网站吗seo零基础教学
  • 福建网站建设公司排名奉化首页的关键词优化
  • 江阴网站开发全自动在线网页制作
  • 网站修改图片怎么做关键词是什么意思
  • 网站建设需要营业执照吗渠道推广
  • b2c交易网站有哪些加强服务保障满足群众急需ruu7
  • 创办一个网站计算机培训短期速成班
  • 深圳CSS3网站建设价格网站推广的案例
  • 有动效网站互联网营销师考试
  • 为什么简洁网站会受到用户欢迎成都做网络推广的公司有哪些
  • 网站推广新手教程唐山seo排名优化
  • 在线代理服务器网站网络营销软件条件
  • 做一个卖东西的网站百度推广客服电话多少