For loop 迭代的替代逻辑是什么;至于;循环向许多用户发送新闻稿

For loop 迭代的替代逻辑是什么;至于;循环向许多用户发送新闻稿,for-loop,For Loop,在向许多用户发送时事通讯时,除了“for”循环之外,还有什么其他的迭代逻辑,因为这将超过最大执行时间 与使用程序的一个实例发送N邮件不同,N是要发送的邮件总量,您可以使用程序的多个实例,每个实例发送少量邮件,并根据需要启动该程序 我的意思是,你可以用一个程序发送100封邮件,而不是一次启动一个程序发送1000封邮件,但你可以启动10次 困难在于您必须: 跟踪已发送的邮件,避免将邮件发送给同一用户两次 这可以做到第一次向用户1到100发送邮件,第二次向用户101到200发送邮件,第三次向用户

在向许多用户发送时事通讯时,除了“for”循环之外,还有什么其他的迭代逻辑,因为这将超过最大执行时间

与使用程序的一个实例发送
N
邮件不同,
N
是要发送的邮件总量,您可以使用程序的多个实例,每个实例发送少量邮件,并根据需要启动该程序

我的意思是,你可以用一个程序发送100封邮件,而不是一次启动一个程序发送1000封邮件,但你可以启动10次


困难在于您必须:

  • 跟踪已发送的邮件,避免将邮件发送给同一用户两次
    • 这可以做到第一次向用户1到100发送邮件,第二次向用户101到200发送邮件,第三次向用户201到300发送邮件
  • 重新启动该程序,直到不再发送邮件
    • i、 e.使用一些循环来检测发送了多少邮件——如果发送了一些邮件,重新启动程序,这样它就可以对用户进行下一个“页面”

    • 不确定您使用的是什么技术,但您可以尝试一种队列数据结构,该结构具有多个线程,负责发送消息。您可以让一个线程将电子邮件地址(或任何联系信息)输入队列,然后让多个线程将消息从队列中拉出来发送。您可能希望对使用者线程使用某种同步,以便每个联系人只使用一次


      “producer”线程(将地址输入队列的线程)可以一次将整个用户集转储到队列中,或者如果内存出现问题,您可能需要更逐步地执行(例如,一次100个)。

      任何有价值的电子邮件库或客户端都应该允许您向多个收件人发送消息

      你在用什么技术?没错。如果您没有足够的时间在循环中一次发送一个,那么您将不得不一次发送多个。