【发布时间】:2011-09-03 05:20:19
【问题描述】:
我正在为以下用例寻找最佳设计。
我正在构建一个系统,用户可以在其中创建具有结束日期/时间的实体。一旦到达结束时间,我需要安排一个作业以将这些实体的状态更改为已过期。
这是我能想到的两种解决方案
- 作业每分钟运行一次并运行查询以检查过期实体(endTime > sysdate)。 问题:在数据库上加载,每分钟运行一次此查询可能会给数据库带来负载。
- 一旦创建实体,就为每个实体安排一个作业。 问题:系统中会创建太多作业,每天会创建 1000 个这样的实体。
还有比以上两个更好的解决方案吗?人们通常如何做到这一点?
【问题讨论】:
标签: design-patterns quartz-scheduler job-scheduling