gpt4 book ai didi

quartz-scheduler - 如何清除 Quartz Scheduler 中的触发器

转载 作者:行者123 更新时间:2023-12-02 16:58:43 26 4
gpt4 key购买 nike

如果我有一个运行着一堆触发器的 Quartz 调度程序,并且我想清除所有触发器,那么最好如何做到这一点?

我考虑过迭代组和名称,随时调用取消安排,但是当有数千个触发器到位时,这似乎非常慢(取消安排 10 个触发器大约需要 2 秒)。

一个基本的测试用例(安排 1000 个触发器,删除 100 个批处理)显示了指数复杂性。取消计划操作的计划触发器数量:

Deleted 100 triggers in 3594ms,35.94 triggers/ms
Deleted 100 triggers in 2734ms,13.67 triggers/ms
Deleted 100 triggers in 2453ms,8.176666666666666 triggers/ms
Deleted 100 triggers in 1985ms,4.9625 triggers/ms
Deleted 100 triggers in 1547ms,3.094 triggers/ms
Deleted 100 triggers in 1281ms,2.135 triggers/ms
Deleted 100 triggers in 1047ms,1.4957142857142858 triggers/ms
Deleted 100 triggers in 765ms,0.95625 triggers/ms
Deleted 100 triggers in 485ms,0.5388888888888889 triggers/ms
Deleted 100 triggers in 156ms,0.156 triggers/ms

我找不到任何类型的批量方法来清除内容。

我最终考虑停止调度程序并将其放松以进行垃圾收集,但我不确定是否还需要清理其他任何内容以确保它不会在任何地方被引用。

有人对这里的最佳方法有看法吗?

最佳答案

您将拥有多少个触发器和工作?

当触发器以类似映射的结构存储在内存中时,对于大量触发器来说,内存需求很大,并且触发器越多,操作就越慢。

您考虑过数据库存储吗?您可以从 SQL 操作数据集并删除整组触发器或使用单个命令匹配模式的所有触发器的能力中获益。

关于quartz-scheduler - 如何清除 Quartz Scheduler 中的触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4050161/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com