【问题标题】:How can I disable jobs in the Quartz JDBCJobStore?如何禁用 Quartz JDBCJobStore 中的作业?
【发布时间】:2011-05-24 18:17:09
【问题描述】:

在 JDBCJobStore 中禁用作业而不删除其作业或触发器记录且不擦除 cron 表达式的最佳方法是什么?

【问题讨论】:

    标签: java spring jdbc quartz-scheduler


    【解决方案1】:

    使用scheduler.pauseJob()scheduler.pauseTrigger()

    您也可以使用以下 SQL 脚本:

    UPDATE QRTZ_TRIGGERS SET TRIGGER_STATE = "PAUSED"
    

    【讨论】:

    • 也可以在 Quartz.Net 中使用!这里有一些伪代码只是为了演示:(在 c# 中,java 类似,除了泛型) IList jobGroupNames = sched.GetJobGroupNames(); GroupMatcher groupMatcher= GroupMatcher.GroupEquals(jobGroupNames.FirstOrDefault()); Quartz.Collection.ISet 键 = sched.GetJobKeys(groupMatcher); sched.PauseJob(keys.FirstOrDefault());
    • 脚本UPDATE QRTZ_TRIGGERS SET TRIGGER_STATE = "PAUSED" 是否在任何地方被 Quartz 记录?这是没有任何回归的完美方法吗?
    • 写入表格不是最好的解决方案:见here
    【解决方案2】:

    使用JobStorepauseJobpauseJobGroup 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多