草庐IT

java - 如何优雅地处理数千次 Quartz 失火?

我们有一个应用程序需要每晚重新处理大量数据,并且按需重新处理大量数据。在这两种情况下,都会生成并运行大约10,000个quartz作业。在nightly的情况下,我们有一个quartzcron作业产生10,000个作业,每个作业单独处理数据。我们遇到的问题是我们正在运行大约30个线程,因此quartz作业自然会失火,并且会继续失火,直到处理完所有内容。处理最多可能需要6个小时。这10,000个作业中的每一个都属于一个可以并行处理并且完全独立的特定域对象。10,000个作业中的每一个都可能需要不同的时间(从半秒到一分钟不等)。我的问题是:有更好的方法吗?如果不是,那么我们安排/设置qua

石英如何在重新启动之间存储工作详细信息(关于上次成功的运行,失火等)?

从石英安排机安排了一项任务,每小时从上午9点开始。申请在上午10点停止,并在下午12点重新启动。在这种情况下,将错过上午10点和上午11点的两次执行。在调度程序再次启动时,将考虑多少个失火?由于约伯在上午9点执行,因此应该考虑从上午10点和上午11点开始两次失火。如果是这样,那么石英如何确定已重新启动应用程序的最后一个成功的时间表?看答案您问两个问题:将考虑多少个失火?正如您猜到的,两个失火(上午10点和上午11点)将是检测到.但是,石英可能或可能不会考虑所有这些:根据在每个触发器中配置的失火指令,石英可能决定仅考虑最后一个失火,或者忽略它们。石英如何在重新启动之间存储工作细节?根据您的配置,