2

我正在使用 Quartz 调度程序执行向用户发送邮件的 cron 任务。我有一组用户,我想第一次发送邮件(比如早上 9 点)。我有另一组用户,我想在其他时间(比如早上 10 点)发送邮件。我有第三组用户,我想在第三次(比如早上 11 点)发送邮件。

意味着,我有相同的发送邮件的工作,但不同的用户集并在不同的时间触发。

谁可以帮我这个事 ?

谢谢

4

1 回答 1

1

对您的作业进行编码以在合并的 JobDataMap(JobExecutionContext 上的那个)中查找一组用户。

定义您的作业的一个实例,但将其与设置为触发它的三个触发器一起存储(一个用于 9:00,一个用于 10:00,一个用于 11:00)。在每个触发器的 JobDataMap 上,存储要向其发送电子邮件的名称列表的标识符。当每个给定的触发器触发时,它的 JobDataMap 值将在合并的 JobDataMap 中,并且作业将知道要向哪组用户发送电子邮件。

如果用户集非常大(比如几十个名字),我建议只在 JobDataMap 中为集合(作业可以使用它从其他地方检索集合)放置一个标识符,而不是集合本身.

于 2011-02-19T15:49:51.423 回答