Java 在时间间隔内收集用户电子邮件,并在发送前将其合并(GAE)

Java 在时间间隔内收集用户电子邮件,并在发送前将其合并(GAE),java,google-app-engine,web-applications,Java,Google App Engine,Web Applications,我有一个页面,每当有人打开一个轮班时,它都会发送一封电子邮件。然后这些电子邮件被发送给很多人。如果有人在五分钟的时间间隔内打开两班,则会发送两封电子邮件。该应用程序部署在AppEngine上,因此我必须将发送的邮件降至最低 我想在用户打开第一个班次10分钟后设置一些fx计时器,然后在发送任何邮件之前收集用户在此时间间隔内可能打开的任何其他班次。然后我可以把所有的信息合并成一封电子邮件 你们有没有人知道如何在AppEngine上实现这一点 编辑 如果用户只收到一封包含所有班次信息的电子邮件,而不是

我有一个页面,每当有人打开一个轮班时,它都会发送一封电子邮件。然后这些电子邮件被发送给很多人。如果有人在五分钟的时间间隔内打开两班,则会发送两封电子邮件。该应用程序部署在AppEngine上,因此我必须将发送的邮件降至最低

我想在用户打开第一个班次10分钟后设置一些fx计时器,然后在发送任何邮件之前收集用户在此时间间隔内可能打开的任何其他班次。然后我可以把所有的信息合并成一封电子邮件

你们有没有人知道如何在AppEngine上实现这一点

编辑


如果用户只收到一封包含所有班次信息的电子邮件,而不是每个班次收到一封电子邮件,这是否更好。我不想向任何人发送垃圾邮件:)

您可以在未来10分钟内创建一个预计到达时间为10分钟的任务队列任务。您可以根据用户id+批次id为该任务命名。批次id应与用户一起保存,以便10分钟窗口内的所有更改都获得相同的任务名称(防止队列中出现重复任务)

当任务执行时,您将找到具有指定批次id的所有更改,从用户模型中删除批次id,以便他们可以启动新批次、生成电子邮件并发送