通过自己的研究结合百度整理的 Quartz 命令
scheduler
方法名 | 参数 | 说明 |
---|---|---|
Start() | 无 | 启动触发 itrigger 的 IScheduler 线程。当调度程序第一次创建时,它处于“待机”模式,不会触发触发器。还可以通过调用 IScheduler 将调度程序置于待机模式。备用 (System.Threading.CancellationToken) 方法 |
ShutDown() | 无 | 停止 IScheduler 的触发 ITriggers, 并清理所有与 Scheduler 相关的资源。等同于 Shutdown (false) |
ScheduleJob() | job,tirgger | 将给定的 JobDetail 添加到 Scheduler 中,并将给定的 ITrigger 与之关联 |
Job
方法名 | 参数 | 说明 |
---|---|---|
SetJobData() | JobDataMap | 用给定的 JobDataMap 替换 IJobDetail 的 JobDataMap |
StoreDurably() | bool | 默认情况下,Job 没有对应的 Trigger 时,Job 是不能直接被加入调度器中的,或者在 Trigger 过期之后,没有关联 Trigger 的 Job 也会被删除。可以通过 JobBuilder 的 StoreDurably 使 Job 独立存储于调度器中 |
WithDescription() | string | 设置给定的(对人有意义的)工作描述 |
Tirgger
方法名 | 参数 | 说明 |
---|---|---|
StartNow() | 无 | 将触发器应该启动的时间设置为当前时刻,触发器可能在此时触发,也可能不触发,这取决于为触发器配置的时间表 |
UsingJobData() | string,string | 将给定的键值对添加到 JobDetail 的 JobDataMap 中 |
WithIdentity() | string,string | 使用具有给定名称和组的 TriggerKey 来标识触发器 |
WithCronSchedule() | string | 通过 Cron 表达式来设置执行时间与周期 |
StartAt() | DateTime | 设置触发器应该开始的时间——触发器可能在这个时候触发,也可能不触发——这取决于为触发器配置的时间表。然而,在此时间之前,触发器将不会发射,无论触发器的时间表 |
EndAt() | DateTime | 设置触发器不再触发的时间,即使它的时间表有剩余的重复 |
ForJob() | JobKey | 用名称、组字符串标识作业 |
WithPriority() | 1~10 | 当多个 Trigger 在同一个时间点触发一个 Job 的时候,可以通过设置 Trigger 优先级来控制执行顺序,Trigger 默认的优先级是 5, 值越大优先级越高,最高 10 |
Build() | 无 | 产生触发 |
WithSimpleSchedule() | 箭头函数 | 通过 WithSimpleSchedule 可以设置 Job 执行的周期及执行的次数,不过循环周期基本是局限于 时、分、秒 |
WithCalendarIntervalSchedule() | 箭头函数 | 针对 WithSimpleSchedule 做了一定的扩展,可以支持 年、月、周、日、时、分、秒及夏令时设置 |
WithDailyTimeIntervalSchedule() | 箭头函数 | 支持更精确的时间配置,可选每天、周末、工作日、周几,并指定的时间范围及执行时间周期,相比前面两种方式更加灵活 |
WithSimpleSchedule
方法名 | 参数 | 说明 |
---|---|---|
WithInterval() | int | 指定以毫秒为单位的重复间隔 |
WithIntervalInSeconds() | int | 指定以秒为单位的重复间隔 |
WithIntervalInMinutes() | int | 指定以分为单位的重复间隔 |
WithIntervalInHours() | int | 指定以小时为单位的重复间隔 |
WithRepeatCount() | int | 指定触发器将重复的次数-总次数将是这个数字+1 |
RepeatForever() | 无 | 指定触发器将无限重复 |
WithCalendarIntervalSchedule
方法名 | 参数 | 说明 |
---|---|---|
WithIntervalInDays() | int | 指定以天为单位的重复间隔 |
WithIntervalInWeeks() | int | 指定以周为单位的重复间隔 |
WithIntervalInMonths() | int | 指定以月为单位的重复间隔 |
WithIntervalInYears() | int | 指定以年为单位的重复间隔 |
WithDailyTimeIntervalSchedule
方法名 | 参数 | 说明 |
---|---|---|
StartingDailyAt() | TimeOfDay | 触发器每天启动的时间 |
EndingDailyAt() | TimeOfDay | 触发器每天结束的时间 |
EndingDailyAfterCount() | int | 使用计数、间隔和 StarTimeOfDay 计算和设置 EndTimeOfDay。这意味着这些必须在调用此方法之前设置 |
OnMondayThroughFriday() | 无 | 将触发器设置为从周一到周五的每一天 |
OnSaturdayAndSunday() | 无 | 将触发器设置在星期六和星期天 |
OnEveryDay() | 无 | 将触发器设置为一周中的所有日子都启动 |
OnDaysOfTheWeek() | DayOfWeek | 在一周的特定日子里设置触发点 |
Task
方法名 | 参数 | 说明 |
---|---|---|
Delay() | TimeSpan | 创建在指定时间间隔后完成的任务 |
以上方法大多数都有重载,详情请在自己使用时查看