【发布时间】:2019-06-14 18:08:01
【问题描述】:
我正在开发电子邮件发送服务,可能用于使用 sendgrid Web API 发送批量电子邮件,但我无法找出可扩展系统的最佳实践。我希望记录所有未能发送的电子邮件,并在发送所有电子邮件后重试发送到那些失败的电子邮件。我正在使用 NodeJs,所以只想知道是否有任何方法可以加快我的流程(例如同时发送多封电子邮件)
【问题讨论】:
-
通常发送网格在发送电子邮件时返回错误代码或状态代码。解决它的一种方法是将要发送的每封电子邮件记录在数据库中,如果失败则标记 0,如果电子邮件发送成功则标记 1,然后使用某些调度程序或 cron 作业再次尝试。但是您必须处理忽略无效电子邮件或不存在的电子邮件
-
但是在我必须发送大约 999 封电子邮件的情况下(根据文档一次它的 1K 封电子邮件),如果出现错误,它不会处理电子邮件传递,而是会给我是一个错误,这不是我希望的情况,而是我需要一个列表,仅列出那些失败的电子邮件,并且在处理它时不应破坏程序,以防任何电子邮件无法传递,因此也不鼓励使用 Promise.all。它应该并行工作(我知道 nodejs 是单线程的,只是没有得到正确的词)而不会中断,是的,我必须使用一些数据库来进行检查。