【Quartz】问题记录注意事项【四】

记录一:queartz 在同时启动多个任务是,触发器名称不能设置一致,不然第二次启动会不成功

 

记录二:quartz 在使用任务与触发器分离写法时,任务必须要带(.StoreDurably())

 IJobDetail job = JobBuilder.Create<HelloJob>()
                            .WithIdentity("HelloJob", "group1")
                            .StoreDurably()
                            .Build();
            sched.AddJob(job, true);

记录三:quartz在使用持续化到数据库是恢复有时候会失败建议加((.RequestRecovery))

 IJobDetail job = JobBuilder.Create<ServerJob>()
                           .WithIdentity("ServerJob", "group1")
                           .RequestRecovery()
                           .Build();

 这样失败后会重新执行。

记录四:quartz使用持续化到数据库可分为有状态和无状态。区分在任务类上增加【PersistJobDataAfterExecution】特性

记录五:quartz使用持续化到数据库设置不可并发在任务类上增加【DisallowConcurrentExecution】特性。

 [PersistJobDataAfterExecution] //代表当前任务是否有状态
    [DisallowConcurrentExecution]//代表任务不允许并发
    public class ServerJobState : ServerJob
    {
    }

 记录六:一个job可以关联多个 trigger ,但是一个 trigger 只能关联一个job。

 记录七:数据库QRTZ_JOB_DETAILS表其中字段增加解释:   

     //DESCRIPTION:描述
    //IS_DURABLE:代表是否持久化
    //IS_NONCONCURRENT:是否运行并发
    //IS_UPDATE_DATA:是否有状态:false 无状态,true有状态
    //REQUESTS_RECOVERY:是否执行恢复对应设置RequestRecovery方法

记录八:数据库QRTZ_TRIGGERS表字段部分解释:

    借鉴地址:https://www.cnblogs.com/skyLogin/p/6915921.html

    //DESCRIPTION: 触发器的描述等基本信息,
    //START_TIME :开始执行时间,
    //END_TIME :结束执行时间,
    //PREV_FIRE_TIME: 上次执行时间,
    //NEXT_FIRE_TIME: 下次执行时间,
    //TRIGGER_TYPE: 触发器类型:simple和cron,
    //TRIGGER_STATE: 执行状态:WAITING,PAUSED,ACQUIRED分别为:等待,暂停,运行中

 记录九:分用户启动可以设置不同的调度器名称来自动各自用户的任务。这样就不是在一个调度下工作。

转载于:https://www.cnblogs.com/yanbigfeg/p/9050283.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值