语境
有一个邮件管理器。
每封邮件都包含一个时间戳、一个发件人和一份收件人列表。
时间戳指定了新闻稿的发送时间,可以是:
- 一次性(2025/01/15 12:30)
- 定期(每 3 小时)
- 从某个日期开始定期更新(每月 3 日 15:30)
每个用户的收件人总数上限是有限制的(默认为 500)。
创建新邮件时,如果其创建日期在已创建日期的 24 小时内,则此新邮件的收件人数量将从用户的收件人限制中减去。也就是说,限制与日期以及在该日期创建邮件的用户相关。
24小时内最多可以发送用户收件人的数量限制。
问题
由于创建邮件时没有设置时间限制,用户可以一次创建多封邮件,这些邮件会在24小时内生效,突破了用户数量的限制。
例子:
假设我们同时安排了 2 封定期邮件。
然后在惰性计算期间第一次将限制考虑在内。如果我们将第二次邮寄的日期推迟 2 个月,由于我们一直在偷懒计算新日期并且它不断更新,因此限制仍然会被正确计算。