【问题标题】:How can I set priorities to quartz trigger?如何设置石英触发器的优先级?
【发布时间】:2011-08-04 12:37:20
【问题描述】:

我正在使用 Quartz Scheduler,有 15 个作业。每个作业都有一个触发器。 我想为每个触发器设置优先级。我可以将低优先级设置为 10,将高优先级设置为 1。 但是由于我有 15 个触发器用于 15 个作业,因此每个触发器需要不同的优先级。 例如 trigger1 的优先级为 10,trigger2 的优先级为 9。 这样,我需要为两个触发器赋予相同的优先级。

那么如果两个具有相同优先级的触发器将同时执行,那么哪个触发器将首先执行?

谁能告诉我如何为不同的触发器设置不同的优先级?

【问题讨论】:

    标签: quartz-scheduler scheduler


    【解决方案1】:

    触发器有一个名为WithPriority 的属性,它接受一个整数值。当同时触发多个触发器时,调度程序将首先触发具有最高优先级的触发器。如果两个触发器具有相同的优先级,那么任何一个触发器都会被触发。

    • .WithPriority(15) 将首先运行
    • .WithPriority(1) 将是最后一个触发器

    【讨论】:

      【解决方案2】:

      触发器具有“优先级”属性。只需在创建触发器时相应地设置属性,或使用 api 检索触发器、设置优先级并重新安排它们。

      如果两个或多个触发器具有相同的触发时间和相同的优先级,则将随机选择一个触发第一个(排序还可以基于什么?)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-15
        • 1970-01-01
        • 2013-01-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-09
        • 1970-01-01
        相关资源
        最近更新 更多