gpt4 book ai didi

java - quartz 触发器大量创建

转载 作者:行者123 更新时间:2023-12-01 16:49:13 25 4
gpt4 key购买 nike

我们的项目属于航空公司领域,我们的系统正在管理航空公司的航类。系统以消息形式从外部源获取航类详细信息,我们的数据库中将始终保留 future 90 天的航类。

我们需要在航类起飞时间前 X 分钟向外部系统发送消息。例如,在航类起飞前 90 分钟,需要向外部系统发送一条消息。一天内的所有航类都需要执行此操作。

我们计划实现该解决方案,例如当航类消息进入我们的系统时,我们将为该航类创建一个 quartz 触发器,以便在起飞时间前 90 分钟发送消息。

但我们面临的问题是每天会有超过300个航类。这意味着系统中一天至少创建 300 个触发器,我们认为这将导致调度程序系统出现性能瓶颈。

请建议是否有更好的替代方案。是否可以通过一个触发器来实现,它会频繁地查询数据库,并对所有满足条件的航类执行发送航类消息的复杂逻辑。

最佳答案

我找到了解决该问题的方法并将其发布在这里,以便其他人可以从中受益。创建大量 quartz 触发器根本不是一个好主意,我们仅通过两项工作就解决了这个问题。第一个作业将每天午夜运行一次,它将查找当天的所有航类并计算其消息发送时间。该信息被写入表中。

创建另一个作业,每五分钟运行一次并读取该表并查看当前是否需要发送任何消息以及先前尝试中是否有任何失败的消息。然后它将发送消息并相应地更新状态。

关于java - quartz 触发器大量创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61726696/

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