我正在使用Quartz调度器来处理发送邮件给用户的cron作业。我有一组用户,我想在第一时间(比如早上9点)为他们发送邮件。我有另一组用户,我想在另一个时间(比如上午10点)为他们发送邮件。我有30组用户,我想在第三次(比如上午11点)为他们发送邮件。
意味着,我有相同的工作发送邮件,但不同的用户和触发在不同的时间。
有人能在这方面帮我吗?
谢谢
发布于 2011-02-19 23:49:51
编写作业代码,以便在合并后的JobDataMap (JobExecutionContext上的那个)中查找用户集。
定义作业的一个实例,但存储时要设置三个触发器来触发它(一个用于9:00,一个用于10:00,一个用于11:00)。在每个触发器的JobDataMap上,存储要向其发送电子邮件的名称列表的标识符。当每个给定触发器触发时,其JobDataMap值将位于合并后的JobDataMap中,作业将知道向哪组用户发送电子邮件。
如果用户集合非常大(比方说超过几十个名字),我建议只将标识符放到JobDataMap中的集合(作业可以用来从其他地方检索集合),而不是集合本身。
https://stackoverflow.com/questions/5050496
复制相似问题