Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Quartz scheduler 通过Quartz作业发送电子邮件_Quartz Scheduler - Fatal编程技术网

Quartz scheduler 通过Quartz作业发送电子邮件

Quartz scheduler 通过Quartz作业发送电子邮件,quartz-scheduler,Quartz Scheduler,我需要在用户注册一周后向他们发送电子邮件。更好的方法是什么: 安排每天运行的Quartz作业,并获取一周前注册的用户的所有电子邮件 为每个注册用户在用户注册日期后1周内安排Quartz作业和触发器 关于第一种方法,如果作业正在运行,并且发送了列表中一半的电子邮件,并且服务器关闭,那么我们必须添加额外的逻辑,以确保记录发送的电子邮件,并从中断处恢复 第二个似乎更好,因为它不会同时发送所有电子邮件(导致smtp服务器上的负载),但它还要求每个用户都有一个触发器,这可能会占用大量数据库空间 我的假设正

我需要在用户注册一周后向他们发送电子邮件。更好的方法是什么:


  • 安排每天运行的Quartz作业,并获取一周前注册的用户的所有电子邮件
  • 为每个注册用户在用户注册日期后1周内安排Quartz作业和触发器
  • 关于第一种方法,如果作业正在运行,并且发送了列表中一半的电子邮件,并且服务器关闭,那么我们必须添加额外的逻辑,以确保记录发送的电子邮件,并从中断处恢复

    第二个似乎更好,因为它不会同时发送所有电子邮件(导致smtp服务器上的负载),但它还要求每个用户都有一个触发器,这可能会占用大量数据库空间


    我的假设正确吗?哪种方法是通过服务器停机等方式进行恢复的更好方法。

    轮询以检查是否有任何符合条件的用户发送电子邮件是最可靠和简单的方法。我考虑过为类似的场景创建一个石英触发器,但我仍然需要某种持久性模型

    安排Quartz作业检查间隔,并在有合格用户时发送电子邮件


    我实现了一个基于MvcMailer的框架来实现这一点(稍后切换到NVelocity)。请参阅我的帖子了解概述:

    “安排每周运行的Quartz作业,以获取一周前注册的所有用户的电子邮件。”-用户每周只能注册一天?不,他们可以随时注册,我的意思是安排一个每天的作业,以获取7天前注册的所有用户。