我正在使用 Quartz 调度程序执行向用户发送邮件的 cron 任务。我有一组用户,我想第一次发送邮件(比如早上 9 点)。我有另一组用户,我想在其他时间(比如早上 10 点)发送邮件。我有第三组用户,我想在第三次(比如早上 11 点)发送邮件。
意味着,我有相同的发送邮件的工作,但不同的用户集并在不同的时间触发。
谁可以帮我这个事 ?
谢谢
我正在使用 Quartz 调度程序执行向用户发送邮件的 cron 任务。我有一组用户,我想第一次发送邮件(比如早上 9 点)。我有另一组用户,我想在其他时间(比如早上 10 点)发送邮件。我有第三组用户,我想在第三次(比如早上 11 点)发送邮件。
意味着,我有相同的发送邮件的工作,但不同的用户集并在不同的时间触发。
谁可以帮我这个事 ?
谢谢
对您的作业进行编码以在合并的 JobDataMap(JobExecutionContext 上的那个)中查找一组用户。
定义您的作业的一个实例,但将其与设置为触发它的三个触发器一起存储(一个用于 9:00,一个用于 10:00,一个用于 11:00)。在每个触发器的 JobDataMap 上,存储要向其发送电子邮件的名称列表的标识符。当每个给定的触发器触发时,它的 JobDataMap 值将在合并的 JobDataMap 中,并且作业将知道要向哪组用户发送电子邮件。
如果用户集非常大(比如几十个名字),我建议只在 JobDataMap 中为集合(作业可以使用它从其他地方检索集合)放置一个标识符,而不是集合本身.