NodeJS:基于MongoDB条目在特定时间发送大量文本的最佳方式?



我正在编写一个应用程序,该应用程序需要使用AWS根据MongoDB数据库条目发送文本消息。我正在数据库中保存消息,电话号码和发送消息的时间,目前可以使用号码和消息发送文本。我正在尝试找出在适当时间发送消息的最佳方式。我最初认为最好的方法是有一个每分钟查询一次数据库然后发送文本的 cron 作业。但是,cron 作业是否适合可靠且大规模地执行此操作?此外,如果数据库变得太大,每分钟查询会不会花费太长时间?我还考虑使用 setInterval 每分钟运行一次查询。但是这两种方式都有接缝,比如如果查询数据库需要更长的时间,那么它将尝试查询两次并可能发送重复的消息或导致其他问题。其中之一是处理这种情况的好方法,还是其他方法会更好?

  1. 设置一个每分钟运行一次的 cron 作业,该作业查询:((锁定:not_exists || 锁定:假)&&record.time_to_send <= current_time)
  2. 现在在 cron 作业中保持一个标志"锁定",每当记录即将被处理(或发送消息)时,该标志都设置为 true。

您可能还想查看 AWS lambda 或 step 函数。

最新更新